したがって、パスワードのないSSHを有効にするには、公開認証キーを生成し、それをリモートホストの~/.ssh/authorized_keysファイルに追加して新しいSSHキーペアを生成する必要があることに注意してください。
問題は、一連のパスワードがあり、正しいパスワードが見つかるまで1つずつ試してみることができるかどうかです。それとも実際のパスワードペアが必要ですか?したがって、どのホストがどのパスワードを持っているかを調べてください。 理由:何千ものホストがあり、どのホストがどのパスワードを持っているかはわかりませんが、可能なすべてのパスワードのリストがあります。
SSHと並行してGNUを使用したいが、これにはパスワードのないSSHが必要です。
別のオプションは、成功するまで別のパスワードを試みながらスクリプトを並列に実行することです。
ベストアンサー1
sshpass
この方法。
信頼できるシステムで実行できます(攻撃者なし:他のユーザーが実行すると、パスワードはプレーンテキストで表示されますps
)。
testone() { sshpass -p "$1" ssh "$2" echo OK; }
export -f testone
parallel --tag -k testone :::: passwords.txt hostlist.txt 2>/dev/null
連続して3回間違えると、一部のシステムではこれを攻撃と見なし、一定期間接続が遮断されることに注意してください。したがって、成功を追跡し、それをから移動する必要がありますhostlist.txt
。