Saltar al contenido

¿Cómo se puede hacer una línea con sftp para iniciar sesión con la contraseña en la misma línea?

Solución:

Solución 1:

Como han mencionado otros, una contraseña de línea de comandos debería ser el último recurso.

Sin embargo, si nada más es posible; uno puede ir por el pase ssh

sshpass -p <password> sftp [email protected]

Solucion 2:

Generalmente, incluir una contraseña en una línea de comando se considera un riesgo de seguridad porque se mostrará a cualquier otra persona que pueda ejecutar ps / top, y puede guardarse en el historial de su shell.

Sería una idea mucho mejor configurar la autenticación basada en claves si puede.

Además, no creo que sea posible con sftp. Está destinado a ser utilizado para transferencias seguras. Si realmente tuvo que hacer algo como esto y no tiene otra opción, entonces probablemente deba buscar la automatización con expectativa.


Solución 3:

No hagas eso: configura la autenticación de clave pública SSH para el inicio de sesión automático.


Solución 4:

Simplemente use perl, ruby ​​o python para escribir lo que está tratando de hacer. En el caso de ruby, es solo (tomado de los documentos de la API net-sftp):

require 'net/sftp'

Net::SFTP.start('host', 'username', :password => 'password') do |sftp|

  # upload a file or directory to the remote host

  sftp.upload!("/path/to/local", "/path/to/remote")

end

Para obtener más información http://net-ssh.rubyforge.org/sftp/v2/api/index.html


Solución 5:

Como han indicado las otras respuestas, use la autenticación de clave pública. Existe una gran serie de IBM developerWorks, aunque un poco anticuada, que debería explicar todo lo que desea saber sobre ella, así como algunas herramientas complementarias útiles como el llavero.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *