1、本地生成ssh-key
在本地cmder終端下運行下面的命令生成ssh的公鑰和私鑰文件:
ssh-keygen -t rsa
其中,.ssh/id_rsa為私鑰文件,留在本地使用,而.ssh/id_rsa.pub為公鑰文件,一般需要上傳到Linux服務上使用。
2、將公鑰拷貝到Linux服務器
在Windows下的user的.ssh文件目錄下使用scp命令將公鑰上傳到Linux服務器:
scp "id_rsa.pub" username@remoteip:~/
在傳輸過程將會提示用戶密碼輸入,直接輸入即可。
3、Linux服務器進行ssh配置
在Linux服務終端下,添加授權密鑰文件並進行ssh配置:
$ touch authorized_keys
將id_rsa.pub公鑰文件內容添加到authorized_keys,注意一個一行:
$ cat ../id_rsa.pub >> authorized_keys
檢查是否添加成功:
$ vim authorized_keys
然后對ssh服務的配置文件進行修改如下:
$ sudo vim /etc/ssh/sshd_config
將ssh服務器配置文件修改完成后,重啟讓配置進行生效:
$ sudo service ssh restart
4、測試連接
將ssh公鑰添加和配置修改完成后,切換到cmder終端下,使用命令測試ssh免密登錄:
ssh username@remoteip
使用ssh密鑰-公鑰認證,再次登錄將不會再提示輸入用戶密碼。