如何在CentOS 7 / RHEL 7 / RHEL 8上設置SSH無密碼登錄

安全殼SSH協議)是用於客戶端和服務器之間安全連接的加密網絡協議,並支持各種身份驗證機制。也用於通過網絡將文件從一台計算機傳輸到另一台計算機 機密副本SCP協議書。本文將向您介紹 如何在CentOS 7上設置無密碼登錄RHEL 7RHEL 8 使用ssh密鑰連接到遠程Linux服務器,而無需輸入密碼。使用無密碼登錄 SSH密鑰 增加兩個Linux服務器之間的信任,並促進文件同步或傳輸。在此示例中,我們設置了不帶SSH密碼的自動登錄,從服務器192.168.1.5作為用戶rasho到用戶192.168.1.8作為服務器miroslav。

如何設置SSH無密碼登錄

設置 SSH登錄無密碼 在Linux中您需要做的是 公用認證密鑰 將其添加到遠程主機 ~/.ssh/authorized_keys 文件以下命令使用電子郵件地址作為注釋,生成一個新的4096位SSH密鑰對。

# ssh-keygen -t rsa -b 4096 -C "[email protected]"

按下 Enter 要接受默認文件位置和文件名:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

然後 ssh-keygen工具 系統將提示您輸入安全密碼。使用密碼取決於您,但是如果您選擇使用密碼,則會獲得額外的安全性。主要由開發人員和系統管理員使用 SSH協議 不需要密碼,因為它有助於全自動過程。如果您不想使用密碼, Enter

Enter passphrase (empty for no passphrase):

整體交互如下所示:

# ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:IzizL5Vf5RpUNftqwLJrNKIisSRMpiid58/ECXVhrTY [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|        o.   .o  |
|       . .. .  o |
|      . .. .  .  |
| o   o .E ...  . |
|*. .= .oSo.oo   .|
|=.= .*oo..=o.. . |
|.o =..+o +.+  o  |
|  o ++. . o. .   |
|   . ++  ..      |
+----[SHA256]-----+

將公共SSH密鑰複製到遠程主機

複製密鑰是一項簡單的任務,可以使用ssh-copy-id命令完成,如下所示。

# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

當提示您輸入遠程用戶的密碼時,只需輸入該密碼即可。這將創建 .ssh 如果沒有目錄,則具有相應的authorized_keys文件權限。

[email protected]:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/rasho/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

測試SSH無密碼登錄

現在您已將密鑰複製到遠程服務器,可以測試連接了。您無需輸入密碼:

[email protected]:~# ssh [email protected]
Last login: Sat Feb  9 11:34:53 2019 from 192.168.1.5
[[email protected] ~]#

如果一切順利,您可以立即登錄。

禁用SSH密碼認證

要為服務器添加額外的安全性,請禁用SSH密碼身份驗證。 登錄到遠程服務器 SSH密鑰:

ssh [email protected]_ip_address

開門 SSH配置 檔案 /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

搜索以下指令並將其更改為:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

完成後,保存文件並重新啟動SSH服務。

# sudo systemctl restart sshd

結論

在本教程中,您學習了如何 SSH協議 給你 CentOS的7 RHEL 7RHEL 8 使用系統 沒有密碼的SSH密鑰。 我希望這個過程很容易。如有任何疑問,請在下面的評論部分中發布。

Sidebar