如何設定 Ubuntu 14.04 的 SSH 無密碼登入

linux.cn發表於2015-04-05

大家好,今天我來向大家介紹如何在 Ubuntu12.04 上設定 SSH 的無密碼登入功能。僅在工作站上有正確的(公私)金鑰對以供匹配時SSH服務端才會允許你登入,反之訪問將不會被允許。

正常情況下,我們需要連上SSH的控制檯輸入使用者名稱及其密碼才行。如果兩者全部正確,我們就可以訪問,反之訪問被服務端拒絕。不過相比而言還有一種比用密碼更安全的登入方式,我們可以在登入SSH時通過加密金鑰進行無密碼登入。

如果你想啟用這個安全的方式,我們只需簡單的禁用密碼登入並只允許加密金鑰登入即可。使用這種方式時,客戶端計算機上會產生一對私鑰和公鑰。接著客戶端得把公鑰上傳到SSH服務端的authorized_key檔案中去。在授予訪問前,伺服器及客戶端電腦會校驗這個金鑰對。如果伺服器上的公鑰與客服端提交的私鑰匹配則授予訪問許可權,否則訪問被拒絕。

這是認證到SSH伺服器的非常安全的一種做法,如果你想為單一的SSH使用者登入實現安全登入,這也是備受推崇的方式。這裡快速的過一遍如何啟用無密碼登入SSH的配置過程。

如何設定 Ubuntu14.04 的 SSH 無密碼登入

1.安裝Openssh服務端

首先,我們需要更新我們的本地庫索引。所以如下所見,我們需要先輸入“apt-get update”

$ sudo apt-get update

如何設定 Ubuntu14.04 的 SSH 無密碼登入

現在我們可以通過以下命令安裝openssh-server:

$ sudo apt-get install openssh-server

如何設定 Ubuntu14.04 的 SSH 無密碼登入

2. 開啟openssh服務

在OpenSSH已經成功安裝在Ubuntu14.04作業系統上了之後,我們要啟動OpenSSH的服務。以下命令讓你啟動/開啟服務。

$ sudo service ssh start

$ sudo /etc/init.d/ssh start

3. 配置金鑰對

在我們安裝並啟動了OpenSSH服務以後。現在終於到了要我們搞定公私鑰對的時候了,在終端中執行以下命令:

$ ssh-keygen -t rsa

在執行完以上命令了以後,我們需要回答一系列的問題。首先選擇儲存金鑰的路徑,按回車將會選擇預設路徑即家目錄的一個隱藏的.ssh資料夾。下一個提示是請輸入口令提醒。我個人將此留空(直接回車)。之後金鑰對就會建立,大功告成。

如何設定 Ubuntu14.04 的 SSH 無密碼登入

在金鑰對生成以後,我們需要將客戶端上的公鑰複製到SSH服務端或者主機,來建立對客戶端的信任關係。執行以下命令複製客戶端的公鑰到服務端。

$ ssh-copy-id user@ip_address

在公鑰上傳之後,我們現在可以禁用通過密碼登陸SSH的方式了。為此,我們需要通過以下命令用文字編輯器開啟/etc/ssh/ssh_config

$ sudo nano /etc/ssh/sshd_config

現在,我們需要按照下圖所示去掉幾行註釋並進行一些賦值。

如何設定 Ubuntu14.04 的 SSH 無密碼登入

4. 重啟SSH服務

最後,在我們配置完SSH服務端後,為了使改動生效我們需要重啟SSH服務。在終端或控制檯執行以下命令重啟。

$ sudo service ssh restart

$ sudo /etc/init.d/ssh restart

如何設定 Ubuntu14.04 的 SSH 無密碼登入

現在,我們可以試試不用密碼僅用金鑰對的方式登入ssh服務端了。

總結

太好了!我們成功的配置了無密碼登入SSH。使用加密金鑰對進行SSH伺服器認證是非常安全的一種做法,如果你想為SSH的單一使用者登入實施安全的認證這也是備受推崇的方式。所以,如果你還有什麼問題或建議,請在意見框中向我們反饋。很欣慰你能讀完,希望你能喜歡加密的SSH安全登入。

相關文章