비밀번호를 사용하여 sftp로 보내는 스크립트를 HP-UX에서 만들고 싶습니다. 나는이 명령을 가지고
sftp -o PasswordAuthentication=
하지만 "예" 또는 "아니요"라고 대답하면 "호스트 키 확인 실패" 문제가 발생합니다.
답변1
socat
편리하다면 매뉴얼의 이 예를 사용할 수 있습니다 .
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty
(ctty), and makes this pty the owner of a new process group
(setsid), so ssh accepts the password from socat.
답변2
공개/개인 키 인증을 사용하는 것이 더 좋지만 여전히 일반 텍스트 스크립트에서 비밀번호를 사용하려면 를 사용합니다 lftp
. 이것은 ftp, sftp, ftps 연결을 허용하는 훌륭한 클라이언트이므로 "여기에 문서"를 사용하면 됩니다. 거래를 완료하려면:
lftp sftp://your.destination.sftp -u yourUser,YourPassword << fin
get yourfile
bye
fin
답변3
사용자 이름, 비밀번호 및 destip을 사용하여 아래 sftp 스크립트를 사용해 볼 수 있습니다.
#!/usr/bin/expect
spawn sftp username@destip
expect "username@destip's password:"
send "passwd\n"
expect "sftp>"
send "get filename\n"
expect "sftp>"
send "bye\n"
답변4
SFTP는 비밀번호 없이 사용할 수 있습니다
pubkey auth = very safe strong encryption
kerberos = need server,encryption is not strong
그렇지 않으면 비밀번호 전송을 예상하여 경고하십시오! 패스는 ps를 사용하여 볼 수 있으므로 이 솔루션은 완전히 안전하지 않습니다.