(publickey,password)
二重認証が有効なサーバーに接続しようとしています。sshpass
スクリプトの実行を自動化するためにパスワード提供を使用しますが、SFTPを使用してバッチファイルを提供すると、接続は失敗し、バッチファイルの関連付けは成功しません。
export SSHPASS=helloworld (sshpass -e sftp -b batfile.txt -o 'PasswordAuthentication=yes' \ -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)
間違い:
Permission denied (password). Couldn't read packet: Connection reset by peer
接続成功、バッチファイルは不要
(sshpass -e sftp -o 'PasswordAuthentication=yes' \ -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)
バッチファイルにパスワードを提供しようとしましたが、成功しませんでした。
私が達成したいことがありますか?それでは誰でも私を助けることsshpass
ができますかbatchfile
?
バッチファイル:
echo "Hey, I'm from Inside"
!echo "Hey, I'm from Outside"
ベストアンサー1
これにより、-b
対話型認証(偽装する場合sshpass
)が防止されます。
sshpass
代わりに、コマンドを標準入力に渡す必要があります。
sshpass -e sftp -o 'PasswordAuthentication=yes' \
-o 'PreferredAuthentications=publickey,password' user@hostname < batfile.txt
ここのように:
sshpassコマンドをbashスクリプトにどのように入れますか?
StrictHostKeyChecking=no
セキュリティに興味がない場合は絶対に使用しないでください。