私はリモートサーバーでタスクを実行するための一連のスクリプトを作成してきましたが、パスワード入力を自動化できないため、ssh midスクリプトを介してログインする方法をブロックしました。これを行う方法はありますか?
echo "ログイン中..\n" ssh ユーザー名@IPがパスワードnextCommandに何とかハードコーディングされています。
答え1
パラメータを介してパスワードを送信できません。 SSHキーを使用できます。クライアントコンピュータから:
ssh-keygen -t rsa
これにより、公開 SSH キーを使用して ~/.ssh/ に id_rsa.pub というファイルが生成され、以下を追加する必要があります。id_rsa.pubサーバーコンピュータにファイルを作成し(scpまたはftp経由でコピーできます)、次のコマンドを実行します。
cat id_rsa.pub >> ~/.ssh/.authorized_keys
これは私にとって効果的です。
答え2
@MichaelKjörlingが言ったように、公開鍵認証を設定します。
ssh-copy-id user@host
今ssh
、パスワードなしで行うことができます。user@host