Debian 10でSSHパスワードレスログインを設定する方法
SSH(セキュアシェル)は、暗号化を使用してクライアントとサーバー間の接続を保護する、リモートログインや不安定なネットワーク上でのファイル転送に広く使用されている人気のあるツールです。
関連記事: LinuxでSSHの二要素認証を設定する方法
一般的なユーザーIDとパスワードを資格情報として使用してSSHを利用することも可能ですが、ホスト同士を認証するためには、鍵ベースの認証(または公開鍵認証)を使用する方が推奨されており、これをSSHパスワードレスログインと呼びます。
要件:
- Debian 10 (バスター) ミニマルサーバーをインストールする
これを簡単に理解できるように、2つのサーバーを使用します。
- 192.168.56.100 - (tecmint) - 私がDebian 10に接続するために使用するCentOS 7サーバーです。
- 192.168.56.108 - (tecmint) - パスワードなしでログインできる私のDebian 10システム。
この記事では、Debian 10 Linux ディストリビューションで OpenSSH サーバーをインストールし、SSH パスワードなしログインを設定する方法を示します。
Debian 10 に OpenSSH サーバーをインストールする
SSHのパスワードなしログインをDebian 10システムで設定する前に、以下のコマンドを使用してシステムにOpenSSHサーバーパッケージをインストールおよび設定する必要があります。
sudo apt-get update
sudo apt-get install openssh-server
次に、今のところsshdサービスを開始し、次のようにsystemctlコマンドを使用してそれが正常に動作しているか確認してください。
sudo systemctl start sshd
sudo systemctl status sshd
次に、システムが再起動するたびに自動的に起動するように、sshdサービスを有効にします。
sudo systemctl start sshd
sshd サービスを確認してください。デフォルトでは、22 番ポートで待機しています。以下の ss コマンド を使用して確認できます。SSH ポートを変更したい場合は、次のように変更できます:Linux での SSH ポートの変更方法。
sudo ss -tlpn
CentOS 7 (192.168.56.100) に SSH キーを設定する
まず、CentOS 7 システム上で、接続する Debian 10 サーバー用の SSH キーペア(公開鍵と秘密鍵)を ssh-keygen ユーティリティを使用して作成する必要があります。
ssh-keygen
次に、ファイルの名前を意味のあるものに変更するか、デフォルトのままにします(これはスクリーンショットに表示されたフルパスでなければなりません。さもなければ、ファイルは現在のディレクトリに作成されます)。パスフレーズが求められた場合は、単に「Enter」を押してパスワードを空のままにします。キーは通常、デフォルトで~/.sshディレクトリに保存されます。
Debian 10サーバー(192.168.56.108)に公開鍵をコピーする
鍵ペアを作成した後、公開鍵をDebian 10サーバーにコピーする必要があります。ssh-copy-idユーティリティを使用できます(指定したユーザーのパスワードをサーバーで求められます)。
ssh-copy-id -i ~/.ssh/debian10 [email
上記のコマンドはDebian 10サーバーにログインし、サーバーにキーをコピーし、それらをauthorized_keysファイルに追加してアクセスを許可するように設定します。
192.168.20.100からのSSHパスワードなしログインのテスト
キーがDebian 10サーバーにコピーされたので、次のSSHコマンドを実行してSSHのパスワードなしログインが機能するかをテストする必要があります。ログインは今やパスワードを尋ねられることなく完了するはずですが、パスフレーズを作成した場合は、アクセスが許可される前にそれを入力する必要があります。
ssh -i ~/.ssh/debian10 [email
このガイドでは、Debian 10 に OpenSSH サーバーを SSH パスワードなしログインまたはキー認証(または公開鍵認証)でインストールする方法を示しました。このトピックに関して質問がある場合やアイデアを共有したい場合は、下のフィードバックフォームを使用してください。



