具體操作為在使用者的家目錄下敲:
ssh-keygen -t rsa
表示建立一對rsa金鑰。
接下來要做的是將公鑰追加到authorized_keys檔案上(預設的名字,當然你也可以改)
這個檔案隨追加命令敲完後而生成
cat id_rsa.pub >> authorized_keys
注意,以上命令操作都是在已經cd進.ssh目錄下敲的,不然的話你要敲全路徑。
還有特別重要的一步,修改authorized_keys檔案為600許可權!
chmod 600 authorized_keys
如果這一步沒做將會導致ssh連線不成功,認證失敗。
其實除了authorized_keys檔案需要600許可權以外,.ssh/目錄也是需要700許可權,
只不過在敲ssh-keygen -t rsa 三次回車預設建立的.ssh/目錄就是700罷了。
檢視 /etc/ssh/sshd_config 檔案,確保以下兩條為 yes且不是注釋狀態:
rsaauthentication yes
pubkeyauthentication yes
authorizedkeysfile .ssh/authorized_keys #指定認證檔案,預設值
一般它們預設都是 yes,如果不是,請修改為 yes,儲存並且重啟 ssh 服務:
$ sudo service ssh reload
編輯 /etc/ssh/sshd_config 檔案:
challengeresponseauthentication no
passwordauthentication no
permitemptypasswords no
usepam no
儲存並重啟 ssh 服務:
$ sudo service ssh restart
注意這個時候先不要關閉自身在ssh連線中的客戶端,應重新開啟乙個ssh連線去驗證效果。
在建立好金鑰登入並驗證成功後,做以下加強的安全設定:
禁止root通過ssh登入:permitrootlogin no
限制ssh方式的使用者登入:allowusers yunwei
這裡填允許的使用者名稱,舉個例子yunwei是作業系統上的使用者,
這樣之後,就只能是你允許的yunwei使用者可以通過ssh並且是使用金鑰的方式才能登入。
儲存並重啟 ssh 服務:
$ sudo service ssh restart
預設port值是22,可以修改成其它自定義埠,但要注意相關的iptables放行。
還有listenaddress這一項是指定sshd監聽的網路位址,一般你只有乙個ip位址的話就無所謂設定了,如果有兩張網絡卡,乙個是內網ip,乙個是外網ip,只想在內網能ssh的話就在這裡設定。
例如:listenaddress 192.168.1.12:22 (這裡假設伺服器ip是192.168.1.12)
如果你建立金鑰檔案的時候選擇了同時為金鑰檔案建立密碼,那就更加保證了即使金鑰檔案被黑客盜取了,他也無法第一時間就拿來使用。
如果是用命令列的方式ssh的話則如下圖:
sudo ssh -i 金鑰檔案所在路徑 使用者@伺服器ip位址 -p 埠
SSH安全加固
下面提到的引數,需要對應修改的檔案是 etc ssh sshd config 將引數做以下更改 permitrootlogin no 這一步已經做過了。這樣就可以不使用密碼登陸。具體參考如何設定ssh金鑰 參考鏈結,需要進行以下配置 passwordauthentication no 在配合pam的...
ssh探頭安全
1。ssh 合約 ssh 為建立在應用層和傳輸層基礎上的安全協議。ssh 是眼下較可靠,專為 遠端登入 會話和其它網路服務提供安全性的協議。利用 ssh 協議能夠有效防止遠端管理過程中的資訊洩露問題 2.細節 ssh 登入 1.ssh向sshd發起請求,sshd會告訴請求過來的ssh自己是啥版本號,...
SSH安全驗證
只要你知道自己帳號和口令,就可以登入到遠端主機。所有傳輸的資料都會被加密,但是不能保證你正在連線的伺服器就是你想連線的伺服器。可能會有別的伺服器在冒充真正的伺服器,也就是受到 中間人 這種方式的攻擊。需要依靠密匙,也就是你必須為自己建立一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連線到ss...