1.生成私鑰公私
在Linux命令行輸入ssh-keygen (Windows電腦可以安裝cmder, cmder可以在Windows電腦上運行Linux命令):
如果不修改路徑和文件名一直回車就行(不建議修改路徑):
然后進入C:/Users/Administrator/.ssh/目錄下發現多個兩個文件:
(如果你修改了路徑就去你修改后的路徑下找)
2.把公私上傳到服務器上的~/.ssh目錄下(id_rsa.pub文件)
Windows可以安裝WinSCP工具上傳, 或者在cmder下使用scp命令上傳, 格式為: scp [參數] 本地文件 遠程帳戶@遠程 IP 地址:遠程目錄.
scp C:/Users/Administrator/.ssh/id_rsa.pub root@47.97.112.123:~/.ssh
遠程IP地址改成自己的遠程IP地址, 然后按回車鍵再輸入密碼, 上傳成功后可以刪除客戶端下的id_rsa.pub文件了.
如果要下載文件也可以使用scp命令:
scp [參數] 遠程用戶@遠程 IP 地址:遠程文件 本地目錄
例如下載服務器的/etc/redhat-release文件到桌面:
scp root@47.97.112.123:/etc/redhat-release C:\Users\Administrator\Desktop
如果要下載或上傳文件夾可以加-r參數, 例如下載/home目錄到桌面:
scp -r root@47.97.112.123:/home C:\Users\Administrator\Desktop
3.把服務器上公私的內容添加到authorized_keys文件里(只要將每一台客戶端的公鑰都添加到服務器端authorized_keys文件中,就可以實現多台客戶端同時免密登錄服務器了):
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
3.服務器重啟sshd:
systemctl restart sshd
4.在客戶端的.ssh目錄下(我的是在C:\Users\Administrator\.ssh目錄)創建或編輯config文件, 文件內容:
Host zp
HostName 47.97.112.123
User root
port 22
IdentityFile ~/.ssh/id_rsa
(把上面的信息改成自己的信息)
5.在客戶端的命令行輸入ssh zp(第四步的Host對應的內容), 就可以登錄了.