This is an old revision of the document!
http://support.svi.nl/wiki/ScpBatchMode
Copiar ficheros con comando scp y conectarse via ssh a través de un proxy que solo deje salir por los puertos 80 y 443 sin ser preguntado por contraseña
Requisitos previos:
a. El pc destino tiene que tener mapeado el puerto 443 (SSL) al 22 (ssh)
b. El pc origen tiene que tener instalado y configurado corkscrew
c. El usuario que ejecuta scp en el pc origen debe existir también en el pc destino
Procedimiento:
1. Generar un par de claves en el pc origen:
ssh-keygen -t dsa
Se ha generado el siguiente fichero:
/mi_usuario/.ssh/id_dsa.pub
2. Entrar en '/mi_usuario/.ssh'
3. Cambiar los permisos de 'id_dsa.pub'
chmod 600 id_dsa.pub
4. Copiar la clave pública al pc destino usando corkscrew. 2 posibilidades:
4.1 (Poco frecuente) ya existe '/mi_usuario/.ssh/authorized_keys' en el pc destino:
4.1.1. Copiar las claves públicas a otro fichero
scp -P 443 -F /ruta/config/corkscrew/conexion id_dsa.pub usuario_pc_destino@ip_pc_destino:~/.ssh/auxiliar
4.1.2. Conectarse al pc destino via ssh
ssh -p 443 -F /ruta/config/corkscrew/conexion usuario_pc_destino@ip_pc_destino
4.1.3. Teclear la clave del usuario del pc_destino y pulsar enter
4.1.4. Añadirle el contenido de 'auxiliar' al final de 'authorized_keys'
cat /mi_usuario/.ssh/auxiliar » /mi_usuario/.ssh/authorized_keys
4.1.5. Salir de la sesión ssh del pc destino
exit
4.2. (Más probable) no existe '/mi_usuario/.ssh/authorized_keys' o lo que contiene puede ser machacado:
4.2.1 Copiar la clave pública:
scp -P 443 -F /ruta/config/corkscrew/conexion id_dsa.pub usuario_pc_destino@ip_pc_destino:~/.ssh/authorized_keys
Puede salir el siguiente mensaje de error e interrumpirse el proceso:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6f:ae:d1:45:a5:c2:dc:98:52:45:b7:f4:a2:73:be:31.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:5
RSA host key for peluca.mine.nu has changed and you have requested strict checking.
Host key verification failed.
lost connection
En mi caso se debió a que reinstalé el sistema operativo en la máquina destino y por eso cambió la huella dactilar de la misma.
SOLUCIÓN:
Eliminar las entradas que hagan referencia a ip_pc_destino en /mi_usuario/.ssh/known_hosts. Si no se quiere uno calentar la cabeza, se carga el fichero.
4.2.3. Introducir, por última vez :) , la clave de usuario del pc destino y pulsar enter
5. En unos segundos el fichero se ha copiado. Probar ahora a conectarse sin que nos pida la clave:
ssh -p 443 -F /ruta/config/corkscrew/conexion usuario_pc_destino@ip_pc_destino