start => servidor
Servidor SSH
¿Cómo instalar el servidor SSH para administración remota?
$ sudo aptitude install ssh
¿Cómo damos acceso a solo cuentas autorizadas para que puedan conectarse con SSH en un equipo Ubuntu local?
$ sudo nano /etc/ssh/sshd_conf
AllowUsers cuenta1 cuenta2 cuenta3
$ sudo /etc/init.d/ssh restart
* Restarting OpenBSD Secure Shell server... [ ok ]
— Saul Treviño 2005/05/02 17:28
¿Cómo conectar con SSH en un equipo Ubuntu remoto?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
$ ssh usuario@192.168.0.1
¿Cómo evitar que nos pida el password en cada conexión?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
(Obs. Cuando nos pregunte por la palabra clave la omitimos pulsando dos veces enter.)
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_dsa.
Your public key has been saved in /home/usuario/.ssh/id_dsa.pub.
The key fingerprint is:
81:a1:d3:96:fa:a2:73:4d:3a:76:c1:fd:3f:6a:6f:1e usuario@localhost
$ ssh-copy-id usuario_remoto@192.168.0.1
Now try logging into the machine, with "ssh 'usuario_remoto@192.168.0.1'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
$ sudo aptitude install ssh-askpass-gnome
Ahora solo hay que arrancar el
agente SSH para que recuerde nuestra contraseña:
$ ssh-add
El agente sólo dura mientras esté activa nuestra consola. O sea que si la cerramos y la volvemos a abrir ya no está activo el agente y nos volverá a pedir el password cada vez. Para evitar esto lo que podemos hacer es añadir el agente a la sesión para que se ejecute cada vez que se inicie GNOME. Al iniciar saldrá un diálogo que nos preguntará por la contraseña. Para más información ver
¿Cómo ejecutar programas al iniciar GNOME?.
¿Cómo copiar una carpeta desde un equipo Ubuntu remoto en el equipo local (scp)?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
Equipo Ubuntu Remoto: 192.168.0.1
Ubicación del fichero/carpeta remoto: /home/username/remotefile.txt
Ubicación local donde guardar: . (directorio actual)
$ scp -r usuario@192.168.0.1:/home/username/remotefile.txt .
¿Cómo copiar un fichero desde un equipo Ubuntu remoto en el equipo local (scp)?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
Equipo Ubuntu Remoto: 192.168.0.1
Ubicación del fichero/carpeta remoto: /home/username/remotefile.txt
Ubicación local donde guardar: . (directorio actual)
$ scp usuario@192.168.0.1:/home/username/remotefile.txt .
¿Cómo copiar un fichero/carpeta desde un el equipo local a un equipo Ubuntu remoto? (scp)
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
Ubicación local del fichero/carpeta: localfile.txt
Equipo Ubuntu remoto: 192.168.0.1
Ubicación donde guardar en el equipo Ubuntu remoto: /home/username/
$ scp -r localfile.txt usuario@192.168.0.1:/home/username/
¿Cómo sincronizar una carpeta desde un equipo Ubuntu remoto en el equipo local? (rsync)
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
Equipo Ubuntu Remoto: 192.168.0.1
Ubicación de la carpeta remota: /home/usuario/backup
Ubicación local donde guardar: . (directorio actual)
$ rsync -v -u -a --delete --rsh=ssh --stats usuario@192.168.0.1:/home/usuario/backup .
¿Cómo sincronizar una carpeta desde un el equipo local a un equipo Ubuntu remoto? (rsync)
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
Ubicación local de la carpeta: /home/usuario/trabajo
Equipo Ubuntu remoto: 192.168.0.1
Ubicación donde guardar en el equipo Ubuntu remoto: /home/usuario/backup
$ rsync -v -u -a --delete --rsh=ssh --stats /home/usuario/trabajo username@192.168.0.1:/home/usuario/backup
¿Cómo SSH en un equipo Ubuntu remoto via un equipo Windows?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
¿Cómo copiar un fichero/carpeta a/desde en un equipo Ubuntu remoto vía un equipo Windows?
-
Se asume que el equipo Ubuntu remoto tiene instalado el servidor
SSH
-
¿Cómo ejecutar aplicaciones gráficas remotas y verlas en mi escritorio?
$ sudo gedit /etc/ssh/sshd_config
$ ssh -X servidor.com
$ xclock
Ahora debería salir una ventana con un reloj en tu escritorio. Puede tardar unos segundos si tienes una conexión lenta con el servidor.
¿Cómo ejecutar un comando en varios ordenadores a la vez?
#!/usr/bin/perl
@hosts=(
"usuario1\@maquina1.guay.es",
"usuario2\@maquina2.guay.es"
);
die "Uso: runonall \'command\'\n" unless $ARGV[0];
foreach(@hosts){
print "$_ -> $ARGV[0]:\n";
print `ssh $_ $ARGV[0]`;
}