我們?cè)诘卿涍h(yuǎn)程服務(wù)器時(shí),總是要輸入密碼,很煩,今天配置了免密登錄,記錄一下
配置免密就一句話,把要登錄的本地的公鑰存至遠(yuǎn)程的服務(wù)器內(nèi)就行
先打開(kāi)自己本地的命令行工具cmd,
輸入ssh-keygen
然后根據(jù)他的提示敲幾下回車就行了 。
密鑰id_rsa和公鑰id_rsa.pub文件都默認(rèn)保存在(C:\User\用戶/.ssh)文件夾下,然后在以記事本的方式打開(kāi)公鑰id_rsa.pub,復(fù)制其內(nèi)容,待用 。
在登陸你的遠(yuǎn)程服務(wù)器 以Ubuntu為例
我們可以查看.ssh目錄ls -a發(fā)現(xiàn)這里有一個(gè)authorized_keys。
我們?cè)谶M(jìn)入到.ssh目錄下cd .ssh利用vim編輯authorized_keysauthorized_keys,我們進(jìn)入到編輯器先按i,發(fā)現(xiàn)左下角變成了INSERT,然后我們把之前復(fù)制的內(nèi)容粘貼進(jìn)去,在按一下Esc,發(fā)現(xiàn)左下角的INSERT消失,輸入:wq!保存并退出,然后就完事了。
自己可以在ssh root@XXX登錄試試,這是發(fā)現(xiàn)沒(méi)有密碼了!
ssh-copy-id 命令:自動(dòng)上傳公鑰
這是另一種方法
在本地輸入命令
ssh-copy-id -i .\.ssh\id_rsa.pub root@180.76.138.108
-i 指定公鑰文件
.\ssh\id_rsa.pub 公鑰路徑
root 遠(yuǎn)程服務(wù)器的用戶名
@后面是自己的服務(wù)器ip
可能會(huì)有這種情況

解決辦法:https://blog.csdn.net/Defiler_Lee/article/details/116278442
function ssh-copy-id([string]$userAtMachine, $args){
$publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
if (!(Test-Path "$publicKey")){
Write-Error "ERROR: failed to open ID file '$publicKey': No such file"
}
else {
& cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"
}
}