配置ssh費老勁了。以前沒玩過linux,學到很多東西,命令熟了很多
1.首先是修改 /etc/ssh/sshd_config ssh的設定檔
其中#行指注釋掉得
主要的幾個:
Protocol 2 ←去掉# 修改後變為此狀態,僅使用SSH2
ServerKeyBits 1024 ← 修改後變為此狀態,將ServerKey強度改為1024位元
PermitRootLogin no ← 修改後變為此狀態,不允許用root進行登入,只能切換回非root使用者才能登陸
PasswordAuthentication no ← 修改後變為此狀態,不允許密碼方式的登入,開始設定成yes也可以,就可以在伺服器用ssh密碼登陸到本機,將公開金鑰認證檔案複製過去然後添加到公開金鑰本檔案再傳回來,再設定成 no
PubkeyAuthentication yes ← 大家一定注意這個,非常關鍵,必須設定成yes,允許從公開金鑰認證檔案登入,搞了一下午加一晚上才整明白,這個檔案裡設定的東西太多,出現了 permission denied就改這個檔案,無頭蒼蠅般,一會好用一會不好用,絕大多數不好用
2關於密鑰產生後許可權配置
這個也被搞了N久,裝LINUX,配置網路,裝CENTOS6,所有的時間加起來不如ssh耗費的精力多,有的機子好用有的機子不好用,將上面配置改來改去,一直不好用。第二天才發現修改這個就可以了,然後就是一頓試,看改成什麼樣才行。好像預設的id_rsa就是400,其他的就不知道了,大家可以玩玩看,反正最後的正確設定參考如下: (1)id_rsa 400,即user唯讀,g o無許可權
(2)id_rsa.pub rm 刪除
(3)authorized_keys :u必須有r許可權,g o必須沒有w許可權,其他的都隨便,為安全考慮,最終將其設定成400,開始需要設定成600,如上所說,需要伺服器傳過來公開金鑰本覆蓋此檔案,覆蓋之後再設定成 400
測試過程:chmod ugo authorized_keys 設定之後運行 ssh localhost 看能不能串連 Y能連 N不能連 permission denied
ugo 777 Y
000 N //連續4個看出,user必須有r許可權
100 N
200 N
400 Y
444 Y //g o有r許可權也是可以的
544 Y //u其他許可權隨意
644 Y
744 Y
433 N //連續四個看出 g o 不能有w許可權其他隨意,
410 Y
411 Y
420 N
學了大半天的指令碼編寫,寫了個簡單的ssh配置指令碼,前提是有一個配置好的sshd_config檔案setssh.sh
為方便不熟的自己練練,整個圖片過來了
需要輸入一個參數:自己的sshd_config的位置 如 我的是 ./setssh.sh /home/sshd_config ,沒寫協助,見笑了
最後別忘了,將公開金鑰本覆蓋了以後設定兩個東西,
一個是 /etc/ssh/sshd_config的PasswordAuthentication no 然後重啟ssh服務(前面說過);
chmod 400 ~/.ssh/authorized_keys
隨便輸入 ssh localhost,哈哈
OK了,成功也安全了