大家好,今天我來向大家介紹如何在 Ubuntu12.04 上設(shè)置 SSH 的無密碼登錄功能。僅在工作站上有正確的(公私)密鑰對以供匹配時SSH服務(wù)端才會允許你登錄,反之訪問將不會被允許。
正常情況下,我們需要連上SSH的控制臺輸入用戶名及其密碼才行。如果兩者全部正確,我們就可以訪問,反之訪問被服務(wù)端拒絕。不過相比而言還有一種比用密碼更安全的登錄方式,我們可以在登錄SSH時通過加密密鑰進(jìn)行無密碼登錄。
如果你想啟用這個安全的方式,我們只需簡單的禁用密碼登錄并只允許加密密鑰登錄即可。使用這種方式時,客戶端計(jì)算機(jī)上會產(chǎn)生一對私鑰和公鑰。接著客戶端得把公鑰上傳到SSH服務(wù)端的authorized_key文件中去。在授予訪問前,服務(wù)器及客戶端電腦會校驗(yàn)這個密鑰對。如果服務(wù)器上的公鑰與客服端提交的私鑰匹配則授予訪問權(quán)限,否則訪問被拒絕。
這是認(rèn)證到SSH服務(wù)器的非常安全的一種做法,如果你想為單一的SSH用戶登錄實(shí)現(xiàn)安全登錄,這也是備受推崇的方式。這里快速的過一遍如何啟用無密碼登錄SSH的配置過程。
1.安裝Openssh服務(wù)端
首先,我們需要更新我們的本地庫索引。所以如下所見,我們需要先輸入“apt-get update”
$ sudo apt-get update
現(xiàn)在我們可以通過以下命令安裝openssh-server:
$ sudo apt-get install openssh-server
2. 開啟openssh服務(wù)
在OpenSSH已經(jīng)成功安裝在Ubuntu14.04操作系統(tǒng)上了之后,我們要啟動OpenSSH的服務(wù)。以下命令讓你啟動/開啟服務(wù)。
$ sudo service ssh start
或
$ sudo /etc/init.d/ssh start
3. 配置密鑰對
在我們安裝并啟動了OpenSSH服務(wù)以后?,F(xiàn)在終于到了要我們搞定公私鑰對的時候了,在終端中運(yùn)行以下命令:
$ ssh-keygen -t rsa
在運(yùn)行完以上命令了以后,我們需要回答一系列的問題。首先選擇保存密鑰的路徑,按回車將會選擇默認(rèn)路徑即家目錄的一個隱藏的.ssh文件夾。下一個提示是請輸入口令提醒。我個人將此留空(直接回車)。之后密鑰對就會創(chuàng)建,大功告成。
在密鑰對生成以后,我們需要將客戶端上的公鑰復(fù)制到SSH服務(wù)端或者主機(jī),來創(chuàng)建對客戶端的信任關(guān)系。運(yùn)行以下命令復(fù)制客戶端的公鑰到服務(wù)端。
$ ssh-copy-id user@ip_address
在公鑰上傳之后,我們現(xiàn)在可以禁用通過密碼登陸SSH的方式了。為此,我們需要通過以下命令用文本編輯器打開/etc/ssh/ssh_config。
$ sudo nano /etc/ssh/sshd_config
現(xiàn)在,我們需要按照下圖所示去掉幾行注釋并進(jìn)行一些賦值。
4. 重啟SSH服務(wù)
最后,在我們配置完SSH服務(wù)端后,為了使改動生效我們需要重啟SSH服務(wù)。在終端或控制臺運(yùn)行以下命令重啟。
$ sudo service ssh restart
或
$ sudo /etc/init.d/ssh restart
現(xiàn)在,我們可以試試不用密碼僅用密鑰對的方式登錄ssh服務(wù)端了。
總結(jié)
太好了!我們成功的配置了無密碼登錄SSH。使用加密密鑰對進(jìn)行SSH服務(wù)器認(rèn)證是非常安全的一種做法,如果你想為SSH的單一用戶登錄實(shí)施安全的認(rèn)證這也是備受推崇的方式。所以,如果你還有什么問題或建議,請?jiān)谝庖娍蛑邢蛭覀兎答仭:苄牢磕隳茏x完,希望你能喜歡加密的SSH安全登錄 :-)
via: http://linoxide.com/ubuntu-how-to/setup-passwordless-ssh-logon-ubuntu-14-04/
作者:Arun Pyasi 譯者:martin2011qi 校對:wxy
本文由 LCTT 原創(chuàng)翻譯