<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Obrir_el_SSH_des_d%27una_p%C3%A0gina_web</id>
	<title>Obrir el SSH des d'una pàgina web - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Obrir_el_SSH_des_d%27una_p%C3%A0gina_web"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Obrir_el_SSH_des_d%27una_p%C3%A0gina_web&amp;action=history"/>
	<updated>2026-08-30T11:19:54Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Obrir_el_SSH_des_d%27una_p%C3%A0gina_web&amp;diff=1778&amp;oldid=prev</id>
		<title>Joan a 17:20, 13 feb 2009</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Obrir_el_SSH_des_d%27una_p%C3%A0gina_web&amp;diff=1778&amp;oldid=prev"/>
		<updated>2009-02-13T17:20:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;D'acord que tenir el SSH sempre obert és una mala política. Una manera de solucionar-ho en un servidor on estigui instal.lat un Apache i faci de servidor web és executar una pàgina PHP que executar un shell script que ens obre el servidor SSH. A més a més podria haver-hi un cron que faci que aquest servidor s'apagui automàticament al cap d'una hora.&lt;br /&gt;
&lt;br /&gt;
Primer anem a executar un script senzill: prova_script.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -la &amp;gt; prova/hola.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hem hagut de crear la carpeta prova amb permisos d'escriptura per a tothom. Aquí he de saber un script php quin usuari és el que l'executa.&lt;br /&gt;
&lt;br /&gt;
El script php queda de la forma: prova_script.php:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
shell_exec(&amp;quot;./prova_script.sh&amp;quot;);&lt;br /&gt;
echo &amp;quot;hola&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
abans però hem hagut de donar permís d'escriptura en aquesta carpeta:&lt;br /&gt;
 $ chmod a+w prova&lt;br /&gt;
&lt;br /&gt;
i efectivament funciona:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.prova.com/prova_script.php&lt;br /&gt;
http://www.prova.com/prova/hola.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
veiem el llistat del directori&lt;br /&gt;
&lt;br /&gt;
http://foro.noticias3d.com/vbulletin/showthread.php?t=163587&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Volem executar la comana&lt;br /&gt;
 sudo /etc/init.d/ssh start&lt;br /&gt;
des de PHP&lt;br /&gt;
&lt;br /&gt;
Hem de donar permisos a l'usuari www-data, que és el que executa els scripts PHP de l'Apache:&lt;br /&gt;
&lt;br /&gt;
1r $ sudo passwd www-data (i posem una clau a l'usuari www-data)&lt;br /&gt;
&lt;br /&gt;
2n $ apt-get install sudo (a Ubuntu ja està instal.lat)&lt;br /&gt;
&lt;br /&gt;
3r tenim dues opcions:&lt;br /&gt;
*Si estem a debian/ubuntu tenim el grup ''admin'' que té permís per utilitzar sudo. Hem d'afegir www-data a aquest grup, editant /etc/group i afegint a la línia del grupo admin l'usuari www-data&lt;br /&gt;
*(com ho he fet) Donem d'alta directamente l'usuario www-data a /etc/sudoers posant-li que pregunti la clau sempre i donant permís per executar qualsevol comanda, (fiquem &amp;quot;ALL&amp;quot;). Afegim una línia com aquesta:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# User privilege specification&lt;br /&gt;
root    ALL=(ALL) ALL&lt;br /&gt;
www-data        ALL=(ALL) ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ara el script prova_script.php queda de la següent manera:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 exec(&amp;quot;echo **** | /usr/bin/sudo -u root -s /etc/init.d/ssh start&amp;quot;);&lt;br /&gt;
 exec(&amp;quot;sudo -K&amp;quot;); // !IMPORTANTE! Destruim la sessió&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
on **** és el password de l'usuari www-data&lt;br /&gt;
&lt;br /&gt;
Tot això funciona, comprovat. Ja puc obrir una sessió SSH. Lo correcta és quan acabi aquesta sessió SSH tancar manualment el servidor SSH, o bé un script que s'executi per exemple cada tres hores i que tanqui el servei SSH.&lt;br /&gt;
&lt;br /&gt;
Amb aquesta tècnica, no cal dir-ho, es pot executar tasques administratives des de PHP, i es podria fer un webmin.&lt;br /&gt;
&lt;br /&gt;
==Tancar el SSH automàticament==&lt;br /&gt;
La manera més senzilla de fer-ho és ficar en cl crontab la següent línia &lt;br /&gt;
 50 * * * * * * * * root /etc/init.d/ssh stop&lt;br /&gt;
En aquest cas s'executa cada hora en el minut 50. Així sempre m'asseguro que el SSH està tancat. Per obrir-lo, ho faré a través de la web.&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>