バッチファイルを使用したSFTP 2段階認証

バッチファイルを使用したSFTP 2段階認証

(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セキュリティに興味がない場合は絶対に使用しないでください。

おすすめ記事