状態:
- 私のIPは192.168.1.1です。
$IP
- ユーザー名:ルート(またはその他)
$USER
- パスワード: foo
$PASSWD
$ PASSWDをSSHに提供する方法はありますか?良い
PASSWORD_VAR=$PASSWD ssh -l $USER $IP
- ユーザーはパスワードを見ることができ、
- ユーザーは一般的な対話型シェルセッションに「ログイン」する必要があります。
- 必要に応じて、デスクトップLinuxにsomeパッケージをインストールできます。
ssh(1) を読んでも何の手がかりも得られませんでした。これと同様のものがウィンドウの世界(Kittyなど)に存在します。これで、Unix(利用可能な場合はsuseまたはunbuntu)でも同じことをしたいと思います。
公開/秘密鍵のペアを設定する方法を知っていますが、それはトピックから逸脱しました。
答え1
装着可能なら可能SSHパス、以下を実行できます。
sshpass -p 'password' ssh 192.168.1.1
答え2
ssh
デフォルトではこれは行われず、設計されています。これは、スクリプトにプレーンテキストパスワードを含めることが基本的に悪い考えだからです。特に後 - 単一のコマンドラインで指定した場合通常ps
すべてのユーザーが表示できるリストに表示されます。したがって、より良い習慣を奨励することを意図的に困難にしてください。公開鍵と秘密鍵のペアは、ssh-agent
この要件を排除するのに非常に役立ちます。
本当に必要な場合は、expect
次のようにできます。
#!/usr/bin/expect -f
spawn /usr/bin/ssh -n username@hostname
expect "password:"
send "Password\n";
interact
(またはsshpass
他の評論家が述べたように)。