1. 程式人生 > >免密登錄

免密登錄

密鑰

生成本機的公鑰私鑰:
[root@localhost ~]# ssh-keygen -t rsa -b 1024
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:
SHA256:IdG319e7Qd6ddzpb4mU9TEReynA/qmcAA8K5TNEcPaA [email protected]
The key‘s randomart image is:
+---[RSA 1024]----+
| .o=+ . ...|
| +o+oo. +oo.|
| oEo .+.. .o+o|
| o . .+ . +.+|
| S o .oo=|
| o o=
|
| . o.+X|
| o.o*.|
| oo |
+----[SHA256]-----+
[root@localhost ~]# ls .ssh
id_rsa id_rsa.pub

##將公鑰推送到遠端服務器上,第一次需要驗證密碼
##註意:1、使用普通用戶使用獲得公鑰私鑰時,如果兩邊的用戶不同,一定要帶上用戶,不能默認
“ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.18.43.176”
2、若刪除了known_hosts,則再次推送公鑰時,
ssh-copy-id 10.18.43.176
[root@localhost ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.18.43.176

##若出現“wanted were added”說明添加成功了
技術分享圖片

##再次登錄時,就不要密碼了,則實現了免密登錄

##修改配置文件,可以更改公鑰認證或密碼認證,阻止別人登錄自己的主機
##但要註意若更改了,則只能在自己的主機上再次更改回來
##更改完成後要記得重啟服務
[root@localhost ~]# vim /etc/ssh/sshd_config
技術分享圖片
[root@localhost ~]# systemctl restart sshd

註釋:
-b bits 指定密鑰長度。對於RSA密鑰,最小要求768位,默認是2048位。DSA密鑰必須恰好是1024位(FIPS 186-2 標準的要求)。
-t type 指定要創建的密鑰類型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)

~/.ssh/id_dsa.pub
該用戶默認的 DSA 身份認證公鑰(SSH-2)。此文件無需保密。
此文件的內容應該添加到所有 DSA 目標主機的 ~/.ssh/authorized_keys 文件中。
~/.ssh/id_rsa
該用戶默認的 RSA 身份認證私鑰(SSH-2)。此文件的權限應當至少限制為"600"。
生成密鑰的時候可以指定采用密語來加密該私鑰(3DES)。
~/.ssh/known_hosts
記錄著你每個你訪問過計算機的公鑰(public key)

免密登錄