每次登錄服務器都要輸入密碼,重複無用的操做讓人心生厭煩。「懶人是推進社會進步的動力」,個人宗旨就是能自動的就不要手動。 下面就像你們介紹我是如何打造無密碼登陸服務器:css
相信使用過git的朋友對這一部分應該不會陌生,git的公私鑰配置也是這樣在本地生成的,這裏就不贅述了。html
vim ~/.ssh/config
增長:
#Tencent Server
Host ts
HostName 111.231.199.76
User root
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_tencent_server
1. Host ts #別名,域名縮寫
2. HostName 111.231.199.76 #完整的域名或ip地址
3. User root #登陸該域名使用的帳號名
4. PreferredAuthentications publickey #有些狀況或許須要加入此句,優先驗證類型ssh
5. IdentityFile ~/.ssh/id_rsa_tencent_server #本地私鑰文件的路徑
複製代碼
詳細配置見下圖:linux
個人電腦裏面配置了公司的gitlab和github,再加上服務器的就有三組配置了。git
scp ~/.ssh/id_rsa_tencent_server.pub ts:~/.ssh/
複製代碼
mv id_rsa.pub authorized_keys
複製代碼
若是服務器有authorized_keys這個文件就直接覆蓋。github
如今爲本地mac的私鑰設置權限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_tencent_server
設置服務器上的文件權限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
複製代碼
vi /etc/ssh/sshd_config
# 將PasswordAuthentication設置成no,
# 而後重啓service sshd restart
若是你須要用密碼登陸,這一步也能夠不設置(ssh root@111.231.199.76)
複製代碼
ssh ts
複製代碼
下面的動圖演示兩種登陸服務器的方法:shell
第一種方式須要每次手動輸入密碼,一旦輸入錯誤就得從新輸入,很是不方便。然而第二種方式無需每次輸入密碼,減小誤輸入的問題。經過對比不難發現第二種方式方便快捷,一勞永逸,很是推薦你們動手操做配置。vim
歡迎你們關注😁 bash