對于遠程使用 Ubuntu 或其他 Linux 服務(wù)器(例如 Debian、CentOS 和 Fedora)的用戶,可以看看本文介紹的如何使用無密碼 SSH 密鑰登錄遠程 Ubuntu 20.04 服務(wù)器。與用戶密碼登錄相比,SSH 密鑰認證更安全,因為只有擁有密鑰的人才能連接,并且密鑰通過不同的算法進行了很好的加密。它還通過無密碼登錄使 SSH 連接變得簡單。
1. 在 Ubuntu Linux 中啟用 SSH 服務(wù):
如果您沒有在遠程服務(wù)器中啟用 SSH 服務(wù)。您需要先連接到服務(wù)器,然后運行命令安裝openssh:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install openssh-server
對于 CentOS 和 Fedora 服務(wù)器,請改用linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install openssh-server命令。 安裝完成后,通過命令啟用并啟動服務(wù):linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable ssh && sudo systemctl start ssh
最后通過運行命令驗證 SSH 服務(wù)狀態(tài):linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl status ssh
如果您看到該服務(wù)處于活動狀態(tài)并正在運行,您可以在本地計算機上使用以下命令通過 SSH 遠程連接服務(wù)器:ssh user@server_ip
替換 user 和 server_ip。如果不是默認的 22,則使用 -p port_number 指定端口號。2、啟用 SSH 密鑰認證:身份驗證密鑰在本地計算機中生成。它們通常由私鑰和公鑰組成。通過將公鑰上傳到遠程 Linux 服務(wù)器,您將能夠在本地機器上使用私鑰進行 SSH 登錄。 注意:本教程在 Ubuntu 本地計算機上進行了測試,但它應(yīng)該適用于大多數(shù) Linux,包括 Debian、Fedora、CentOS 和 Arch Linux。 1、安裝 OpenSSH 客戶端: OpenSSH 客戶端大多是開箱即用的。如果沒有,請在本地計算機上運行此命令進行安裝:linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install openssh-client 對于 CentOS 和 Fedora,請改用linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install openssh openssh-clients。 2、生成SSH密鑰對: SSH -keygen命令允許通過RSA、ECDSA和ED25519算法生成SSH密鑰對。RSA得到了廣泛的使用和最好的支持,而ED25519提供了更好的安全性和良好的性能。 a)、首先,在本地計算機終端窗口中創(chuàng)建并導航到.ssh目錄:mkdir -p ~/.ssh && cd ~/.ssh b)、接下來,運行命令生成密鑰對:ssh-keygen -t ed25519 -f linuxmi_ed25519 -C "root@linuxmi" 在代碼中,你可以用你喜歡的加密算法替換“ed25519”。" -f linuxmi_ed25519 "指定鍵名,“-C “root@linuxmi”” 是可選的。
c) 、出于安全原因,強烈建議對除您自己以外的其他用戶設(shè)置無權(quán)限(甚至不可讀): chmod 600 ~/.ssh/linuxmi_ed25519* 將“l(fā)inuxmi_ed25519”更改為您在上一步中設(shè)置的密鑰名稱。最后有一個星號“*”,所以它也適用于“l(fā)inuxmi_ed25519.pub”文件。3、將公鑰上傳到主機服務(wù)器:現(xiàn)在使用以下命令將公鑰(在我的例子中為“l(fā)inuxmi_ed25519.pub”)從本地計算機上傳到遠程服務(wù)器:ssh-copy-id -i linuxmi_ed25519.pub linuxmi@192.168.150.216
如果監(jiān)聽端口不是默認的 22,不要記得加上‘-p number’。而且你需要輸入遠程用戶密碼才能上傳密鑰。4、啟用無密碼SSH密鑰登錄:首先通過 shell 命令運行“ssh-agent”:eval 'ssh-agent' 接下來,將 SSH 密鑰添加到代理: ssh-add linuxmi_ed25519 ssh-add linux_ed25519 如果提示:Could not open a connection to your authentication agent.請先執(zhí)行如下命令ssh-agent bash 之后,SSH 命令將無需輸入認證密鑰密碼即可登錄。5、禁用SSH用戶密碼登錄:成功設(shè)置密鑰認證后,您可以禁用用戶密碼登錄,這樣其他人就無法訪問服務(wù)器! 首先,連接到遠程服務(wù)器并運行命令來編輯 ssh 守護程序配置文件:sudo nano /etc/ssh/sshd_config 接下來,取消注釋“#PasswordAuthentication yes”行并將其值設(shè)置為 no,因此它將是:PasswordAuthentication no 然后按 Ctrl+X,鍵入 y 并按 Enter 保存文件。 最后通過重新加載SSHsudo systemctl reload ssh 無密碼進入如下圖:
OK,就這樣。
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4588瀏覽量
92508 -
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208723 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8965瀏覽量
85087
原文標題:如何使用無密碼 SSH 密鑰登錄遠程 Linux 服務(wù)器
文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論