SSHパスワード提供[重複]

SSHパスワード提供[重複]

状態:

  • 私の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他の評論家が述べたように)。

関連情報