1. ssh key的好處?
- 如果采用傳統(tǒng)密碼登錄的話,每次登錄都會彈出類似這樣的警告:
There were 12345 failed login attempts since the last successful login.
- 你可以用這條命令看看到底是哪些人曾經(jīng)想登門拜訪過:
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr | more
- 采用ssh key登錄后,首先可以將這些人拒之門外。其次,省的每次都輸入一次密碼棋返,更加方便。
2. 方法(以root用戶為例)
ssh-keygen -t rsa
- 此命令在/root/.ssh生成了2個文件:id_rsa為私鑰,id_rsa.pub為公鑰巡雨,此處如果是普通用戶的話,則目錄是/home/用戶名/.ssh
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
chown -R 0700 ~/.ssh
chown -R 0644 ~/.ssh/authorized_keys
chown -R root:root /root
- 修改ssh配置文件:
nano /etc/ssh/sshd_config
修改這幾個地方:
RSAAuthentication yes
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
3. Windows客戶端配置PuTTY使用證書登錄
- PuTTY是一個很常見的SSH客戶端席函,PuTTY Key Generator是其附屬的專門用于生成密鑰的工具(注意這是兩個獨立的軟件)
- 制作用于Putty的私鑰
- 下載id_rsa到本地
- 下載PuTTY和PuTTY Key Generator:
(下載地址:https://www.puttykey.com/download-putty/) - 點擊File – Load private key(All Files .)铐望,導入id_rsa文件;
- 點擊Save private key按鈕茂附,命名并生成ppk文件, 這個ppk文件就是用于PuTTY的私鑰正蛙。
- 設置PuTTY實現(xiàn)用證書登錄
- Putty→Session:輸入Host Name 或者 IP Address;
- Putty→Connection→Data:輸入Auto-login username(自動登陸用戶名)营曼;
- Putty→Connection→SSH→Auth:在Private key file for authentication選擇私鑰文件乒验;
- Putty→Session:Saved Session:輸入某個名稱保存,以后直接雙擊該名稱就可登錄蒂阱。
4. Windows 客戶端Bitvise的設置
- 與PuTTY不同锻全,Bitvise的私鑰生成并不像PuTTY那樣需要一個獨立的程序,設置上要簡單一些录煤。
- 打開Bitvise
- Host填服務器地址
- Username填root
- Inital method選publickey
- 點擊Host key manager鳄厌,點擊More,選Remove All
- 點擊Client key manager妈踊,點擊Import按鈕部翘,文件類型選所有All Files類型,直接導入我們從服務器下載的id_rsa文件即可
- 回到主界面在Client key里選擇:Profile 1
- 點擊Log in按鈕登陸即可响委。
5. 完全屏蔽密碼登錄
- 當我們確認SSH KEY登錄沒有任何問題后新思,就可以將密碼登錄取消了:
- 還是修改ssh配置文件:
nano /etc/ssh/sshd_config
修改這個地方:
PasswordAuthentication no
6. FAQ
SSH完全無法使用了
答:有可能是把
PubkeyAuthentication no證書登錄,和
PasswordAuthentication no密碼登錄都設成了no赘风,這樣無論是采用公鑰登錄還是密碼登錄都會被拒絕夹囚,這就比較麻煩了,需要接上顯示器鍵盤本地登錄邀窃。(這也是為什么在SSH KEY登錄沒有完全測試成功之前荸哟,不能輕易將密碼登錄取消的原因)所有設置都仔細檢查假哎,沒有問題,但還是報錯:Authentication failed. The key has been rejected鞍历。
答:一般來說是目錄權限問題舵抹,仔細檢查chmod那幾個命令是否成功執(zhí)行。