ウェブサイト検索

パスワードなしで 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) は決して共有しないことに注意してください。 。公開キーのみがサーバーにコピーされます。

秘密キーを持っている人は誰でも、一致する公開キーを持つシステムにログインできるため、秘密キーを別のマシンにコピーしてはなりません。

ご質問やフィードバックがございましたら、お気軽にコメントを残してください。

関連記事: