Mac 使用iTerm SSH公鑰免密登陸服務器

使用SSH密鑰登陸,可解決每次登陸服務器都要輸入密碼的問題。

注:SSH登陸原理

SSH公鑰相當於鎖,SSH私鑰相當於鑰匙,將本地mac的公鑰放到服務器上,類似於給服務器上了把鎖,然後使用本地mac的私鑰可以打開這把鎖,就不用再輸入密碼,並且安全性也得到提高。

具體操作:

服務器端設置:

1. iterm打開一個tab,登陸服務器,修改sshd的配置

vi  /etc/ssh/sshd_config

將以下三條配置取消註釋(將前邊的#去掉,下邊爲已配置好內容)

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys # 公鑰配置文件

2. 完成以上配置之後,重啓sshd服務

/sbin/service sshd restart 

本地mac配置:

1.生成公鑰和私鑰(如果已經存在,可跳到下一步)

ssh-keygen -t rsa 

此時進到 ~/.ssh目錄可以看到 id_rsa 和 id_rsa.pub 兩個文件

cd ~/.ssh
ls

2. 將上邊 本地mac 的 id_rsa.pub裏邊的內容,複製到 服務器上的  .ssh/authorized_keys 文件中

    2.1 可以直接cat 查看本地id_rsa.pub文件內容,然後複製粘貼到 服務器.ssh/authorized_keys中,

    2.2 或者將id_rsa.pub文件夾上傳到服務器,再用命令 複製(如下)

       2.2.1 scp命令 上傳到服務器

scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub 

       2.2.2 將公鑰導入(在服務器進行)

cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

3. 服務器修改權限

chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys

無密碼登陸:

經過上述設置,已經可以免密登陸,(但此時還沒有將密碼登陸取消)

iterm 新建tab 嘗試免密登陸

ssh root@ip # 默認端口登陸
ssh root@ip -p 端口號 # 指定端口登陸

輸入以上命令,即可登陸成功

⚠️:原密碼登錄的窗口先不要斷開和關閉,新建tab窗口嘗試無密碼登錄,防止無密碼登錄失敗。

無密碼登陸成功,願意的話,可以設置將密碼登陸禁用,這樣更安全

設置服務器sshd配置,禁用密碼登陸(參考上邊的 服務器設置 部分)

vi /etc/ssh/sshd_config
#將PasswordAuthentication設置成no,然後重啓

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章