Windows機器ssh免密連接Linux
生成windows密鑰對
- 在windows中的CMD命令窗口或者PowerShell中輸入命令:
PS C:\Users\ermao> ssh-keygen -t rsa
- 根據提示一路按回車下去即可,如果有其他需要也可以根據提示輸入自定義文件名以及密碼
- 生成本機的密鑰與公鑰文件,默認存放在本用戶目錄下的.ssh/下面
上傳公鑰
-
採用用戶名/密碼方式連接Linux服務器,通過ftp將公鑰(id_rsa.pub)上傳到服務器,私鑰(id_rsa)存放在本地用於與服務器進行驗證。
將公鑰上傳至任一目錄:
-
查看登錄用戶
root
的用戶目錄下是否存在ssh文件夾以及authoriaed_keys
文件,如果不存在,則創建mkdir ~/.ssh cd .ssh/ touch authorized_keys
-
將id_rsa.pub的內容追加到authorized_keys文件中
cat id_rsa.pub >> ~/.ssh/authorized_keys
-
爲公鑰文件設置權限
此步驟必不可少,如果沒有執行此步驟,哪怕後面ssh服務配置好了,也不可用
```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
配置linux的ssh服務
- 編輯sshd配置文件
在文件第42行附近,根據圖示配置ssh服務,支持公鑰登錄,保存配置文件esc :wqvim /etc/ssh/sshd_config
- 重啓sshd服務
到此步,基本配置已經完成,下方根據xshell配置免密連接systemctl restart sshd ; --CentOS 7 / RedHat 7以上 service sshd restart; --CentOS6 / RedHat 6
添加公鑰到xshell
- 打開Xshell,選擇文件->屬性,用戶身份驗證中,方法選擇Public Key
- 選擇 瀏覽->導入私鑰
- 選擇密鑰對所在路徑,導入私鑰id_rsa,無.pub後綴
- 導入完成後,點擊確定即可,如果第一步生成的密鑰對存在密碼,則需要輸入密碼
連接服務器
在xshell中輸入ssh連接命令,即可免密登錄。