この質問は何度か聞かれましたが、検索のどこにも関連する答えが見つかりませんでした。
私はセキュリティが問題ではない開発環境で働いており、数秒間考えれば誰でもパスワードを推測することができます。
私がやろうとしていることは単純です。ローカルの.bashrcファイルにエイリアス関数を作成しました。この関数でデフォルトのパスワードを使用してマシンに自動的にログインしたいと思います。
私の現在の実装は次のようになります。
function s () {
ssh root@192.168.1.$1
}
実行すると、次のようになります。
~]s 122
ssh root@192.168.1.122
root@192.168.1.122's password:
Bashを使用し、RSAキーを使用しない場合、これにデフォルトのパスワード「password」を使用させたいと思います。
IPとユーザーがすでに設定されているところで、次のことを試しました。
Do=$(expect -c "
spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}
expect \"yes/no\"
send \"yes\r\"
expect \"assword\" send \"password\"")
echo $Do
$Do
次のエラーが発生します。
Connecting and logging into server using expect
usage: send [args] string
while executing
"send"
invoked from within
"expect "assword" send "password""
Administrator@192.168.1.176's password:
bash: spawn: command not found...
次のコマンドを使用して、マシンを接続できます。インタラクションを削除すると、uptimeコマンドが実行され、接続が閉じられます。対話コマンドを使用すると、入力している内容を確認したり、実際にマシンと対話したりすることができません。何か案は?
Do=$(expect -c "spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect \"test\"; send \"uptime\n\"; interact;");echo $Do;