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