パスワードなしで SSH ログインを設定する方法
この記事では、キーベースの認証を使用して、Linux オペレーティング システムでパスワードなしで SSH ログインを設定する方法を説明します。
SSH は、サーバーにログインしてコマンドやプログラムをリモートで実行するために使用されます。ただし、ユーザー名とパスワードを入力せずに SSH サーバーに自動的にログインしたい場合や、その必要がある場合もあります。
SSH 経由でリモート システムにログインする最も一般的なメカニズムは、パスワード ベースの認証とキー ベースの認証の 2 つです。
ユーザー名とパスワードの組み合わせは、SSH の最も一般的な認証方法であり、ほとんどの人に適しています。残念ながら、この方法の使用には特定のセキュリティ リスクが伴います。
一方、定期的に SSH を使用してリモート サーバーに接続する場合は、キーベースの認証方法が最適です。
では、パスワードなしで SSH 接続できますか?要するに、そうです!その方法は次のとおりです。
ステップ 1: SSH キーペアを生成する
まず、現在作業しているマシン上で SSH キー ペアを生成する必要があります。
方法がわからない場合は、短くてわかりやすいガイド「SSH キー ペアの生成 [例付き]」に従うことをお勧めします。
ステップ 2: 公開キーをリモート サーバーにコピーする
パスワードなしで SSH ログインを有効にするには、SSH 公開キーのコピーをリモート サーバーに転送する必要があります。 したがって、リモート サーバーの認証情報と、ホスト名/などのその他の詳細を知っておく必要があります。 IP、ユーザー名、パスワード、ポート番号。
公開キーをリモート サーバーに転送するには、ほとんどの Linux ディストリビューションで使用できる ssh-copy-id
コマンドを使用します。このコマンドは、公開キー .ssh/id_rsa.pub
の内容をリモート システムの .ssh/authorized_keys
ファイルにコピーします。
ssh-copy-id user@remote-host
リモート ユーザー名、パスワードを入力するよう求められます。ユーザーが認証されると、公開鍵がリモート サーバー上の .ssh/authorized_keys
ファイルに自動的にコピーされます。
リモート サーバーで、.ssh/authorized_keys
ファイルの内容を表示することで、公開キーの転送を確認できます。
Linux の ssh-copy-id
コマンドの詳細については、そのマニュアル ページを参照してください。
ステップ 3: パスワードなしの SSH ログイン
これで、パスワードの入力を求められずにリモート サーバーにログインできるようになります。 SSH 経由でサーバーにログインしてみてください。
ssh username@remote_server
システムはリモート サーバーに直接ログを記録する必要があります。パスワードは必要ありません。
結論
パスワードなしで SSH ログインを設定するために必要なのはこれだけです。もちろん、同じ公開キーを複数のリモート サーバーに追加することもできます。
最後に、公開キー (id_rsa.pub
) は誰とでも共有できますが、秘密キー (id_rsa
) は決して共有しないことに注意してください。 。公開キーのみがサーバーにコピーされます。
秘密キーを持っている人は誰でも、一致する公開キーを持つシステムにログインできるため、秘密キーを別のマシンにコピーしてはなりません。
ご質問やフィードバックがございましたら、お気軽にコメントを残してください。