SSHキーの作成とログイン構成

1.SSHに関する常識

SSH(Secure Shell)は、リモートのLinuxホストに安全にログインしてアクセスできるプロトコルです。もちろん、リモートLinuxホストがsshdサービスをデプロイして構成する必要があることが前提です(Linuxはデフォルトでこのサービスをインストールします)。
リモートLinuxホストのsshdサービスは、2つのセキュリティ認証方法を提供できます。これにより、ログインしてリモートでアクセスできます。
1)パスワードベースの検証-ログインを検証するためのユーザーアカウントとパスワード。
2)キーベースの認証-キーペアを生成する必要があります。キーペアの秘密キーはクライアントに保存する必要があり、キーペアの公開キーはリモートホストに保存する必要があります。名前はauthorized_keysである必要があります。

2.キーペアの作成と配布

リモートホストのIPが192.168.10.10であると仮定します

1.クライアントはLinuxシステムであり、リモートホストにアクセスできることを確認します

1)ssh-keygenコマンドで作成

[root@hollowman ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 按回车键接受默认存储路径或者手动设置存储路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 按回车键保持空密码或者设置密钥密码
Enter same passphrase again: 再次回车确认空密码或设置新密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d7:1b:9f:65:fd:9b:43:26:c3:8a:26:8f:04:98:2b:0a [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|    o      .    .|
|   o .  S . +   +|
|    . .  .   B *.|
|E. .   .  . o B .|
|o .   ...o .   .o|
|.      .+.     o.|
+-----------------+

この時点で、キーペアは正常に作成され、/ root / .sshディレクトリに保存されます。ここで、秘密キーはid_rsaであり、公開キーはid_rsa.pubです。

[root@hollowman ~]# ls /root/.ssh/
id_rsa  id_rsa.pub

2)公開鍵をリモートホストにアップロードします

[root@hollowman ~]# ssh-copy-id  192.168.10.10

このコマンドは、クライアントのsshキーペアの公開キー(id_rsa.pub)をリモートホストの/root/.sshディレクトリにアップロードし、自動的に名前が付けられます。authorized_keys

3)/root/.sshディレクトリには7つの権限が必要であり、authorized_keysには6つの権限が必要であることに注意してください。

2.クライアントはWindowsです

パスワードベースの認証でログインできる場合は、リモートSSHプロトコルツール(winscp、XShell、PuTTYなど)を介して接続します。

1)リモートホストを介してキーペアを生成し、秘密キーをクライアントにコピーして(winscpを実装できます)、インポートしてクライアントのSSHプロトコルツールで使用します

ここに画像の説明を挿入します

クライアントのSSHプロトコルツールを使用してキーペアを生成し、公開キーをリモートホストにアップロードすることもできます(winscpも実装できます)。

2)リモートホストの公開鍵パスと名前の形式が正しいことを確認し(/root/.ssh/authorized_keys)、秘密鍵を削除します(id_rsa)

[root@hollowman ~]# cd /root/.ssh
[root@hollowman .ssh]# mv id_rsa.pub authorized_keys
[root@hollowman .ssh]# rm -f id_rsa
[root@hollowman .ssh]# ls
authorized_keys

3)クライアントSSHプロトコルツールは秘密鍵(id_rsa)をインポートし、鍵ベースの認証を介してリモートホストにアクセスします

ここに画像の説明を挿入します

3. ssh構成ファイルを変更します(ssh_configではなくsshd_configであることに注意してください)。

[root@hollowman .ssh]# vim /etc/ssh/sshd_config
Port 22 //配置远程登录端口,默认为22端口 
PubkeyAuthentication yes // 授权密钥方式登录,默认允许 
AuthorizedKeysFile .ssh/authorized_keys // 授权密钥文件路径及名称,也就是为什么公钥要改名的原因 
PasswordAuthentication yes // 授权口令方式登陆,默认允许 
[root@hollowman .ssh]# systemctl restart sshd

おすすめ

転載: blog.csdn.net/ymz641/article/details/111465813