Estoy trabajando con alguien que ha estado haciendo simulaciones en varias computadoras y enviando los resultados por FTP a un sitio web usando un script y el comando ftp básico de mac básicamente algo así como (esto no es exactamente lo que recuerdo de la última vez que lo miré)
ftp -i username@host password
cd /dir/
put file 1
put file 2
...
etcétera...
Necesito actualizar este proceso para usar SFTP con fines de seguridad, pero no hay forma de que pueda decir que coloque la contraseña en un script de una sola línea para el programa SFTP que está integrado en mac OS X. ¿Hay alguna otra manera de hacer esto? Intenté usar algo llamado LFTP que parecía conectarse al servidor, pero los archivos siempre permanecían en 0% cuando intentaban transferirse. Cualquier ayuda sería apreciada.
Supongo que necesito generar una clave desde el propio servidor y proporcionársela al usuario, luego pueden conectarse simplemente usando el nombre de usuario y la clave los autenticará, ¿verdad?
No. Genere la clave en el cliente ( ssh-keygen
) y cargue la clave pública en el servidor. Por ejemplo, usando ssh-copy-id
, si ssh
está permitido en el servidor. Hay muchos procedimientos en Internet, así que creo que podrá averiguarlo.
Entonces la conexión funcionaría como sftp username@host
(sin contraseña). Si tiene algún lote, puede proporcionarlo para sftp
usar -b
la opción. Para obtener más información, consulte las páginas del manual de sftp
u otras herramientas mencionadas anteriormente.
ssh-copy-id
, si no está empaquetado en su Mac. Debería ser la forma más segura si conoce la contraseña.ssh-copy-id
. De todos modos, compruebe el registro de errores del servidor. Debería haber alguna nota de por qué falló la conexión.ssh
con -vvv
ayuda a investigar lo que está pasando allí..ssh
directorio y authorized_keys
no debería ser legible por nadie más. Puede intentar ejecutar el servidor en modo de depuración y debería decirle qué es lo que está mal.Entonces, al final, nunca conseguí que la autenticación de clave pública funcionara y estoy seguro de que es algún tipo de problema de permisos porque cuando entro en el servidor mediante ssh/sftp, ni siquiera puedo acceder al directorio .ssh sin un error de permisos de cygwin. Como no pude averiguar cómo solucionar esto, pero al menos pude obtener permisos que funcionaran lo suficiente como para poder sftp/ssh con éxito desde mi mac, terminé instalando LFTP que me permitió usar un script que incluía la contraseña. No fue bonito, pero lo hice funcionar. Gracias por la ayuda de todos en esto. Al final, parece que la mayor parte de mi problema estaba relacionado con cygwin.
Jakuje
sshpass
(ciertamente también para Mac), pero no puedo recomendarla.Brendan
EDP