パスワード付き SFTP スクリプト - HP-UX

パスワード付き SFTP スクリプト - HP-UX

HP-UXでパスワード付きsftpを送信するスクリプトを作成したいと思います。このコマンドがあります

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

ユーザー名、パスワード、および宛先を使用して、以下の 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

それ以外の場合は、expect を使用してパスワードを送信してください。警告! パスワードは ps を使用して表示できるため、このソリューションはまったく安全ではありません。

関連情報