パスワードを指定せずにスクリプトからリモートでSSH経由で接続する方法

パスワードを指定せずにスクリプトからリモートでSSH経由で接続する方法

私のスクリプトでは、次のことを行っています。 ssh [email protected]

パスワードを尋ねる [email protected]'s password:

SSH接続を生成するスクリプトを実行し、パスワードを入力する必要がないようにパスワードを渡すにはどうすればよいですか?

ベストアンサー1

何を探していますかssh keys?その後、を入力する必要はありませんpassword

RSAキーを生成するには、コマンドラインに次のように入力します。

ssh-keygen -o -b 4096 -t rsa

注:秘密鍵をパスワードで保護しないと、コンピュータにアクセスできる人は誰でもその公開鍵を持つリモートシステムからSSHを介して(パスワードの入力を求めずに)アカウントに接続できます。

秘密鍵は、デフォルトのファイルid_rsa名(例:my_ssh_key)または指定したファイル名(例:my_ssh_key)を使用して生成され、コンピュータのホームディレクトリの外にある.sshディレクトリ(たとえば、または~/.ssh/id_rsa~/.ssh/my_ssh_keyに保存されます。

リモートシステムのアカウントにまだファイルがない場合は、~/.ssh/authorized_keysコマンドラインに次のコマンドを入力します。

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

キーをリモートサーバーにコピーするには:

ssh-copy-idSSHは、一部のオペレーティングシステムで利用可能なユーティリティですSSH

を使用するには、ssh-copy-idユーザー名とアクセスするサーバーのIPアドレスを渡します。

ssh-copy-id USER@IP-ADDRESS

引用:

SSHによる公開鍵認証の使用

リモートシステムに接続するためのSSH公開鍵認証の設定

おすすめ記事