1.客戶端生成證書密鑰對(我的客戶端是windows系統(tǒng),直接使用了用戶目錄下.ssh/文件夾內(nèi)原來為git創(chuàng)建的密鑰對)
2.假設(shè)centos服務(wù)端IP為123.123.123.123,用戶名為abc,將公鑰上傳到centos服務(wù)器abc用戶目錄下
scp C:\Users\我的用戶名\.ssh\id_rsa.pub abc@123.123.123.123:/home/abc #執(zhí)行后需要輸入abc的密碼
3.,使用用戶名密碼登錄centos服務(wù)器,創(chuàng)建目錄.ssh/,并修改權(quán)限
mkdir /home/abc/.ssh
chmod 700 /home/abc/.ssh
4.服務(wù)器創(chuàng)建空的可信任key的存放文件authorized_keys,修改權(quán)限,將客戶端公鑰內(nèi)容放入該文件
touch /home/abc/.ssh/authorized_keys
chmod 644 /home/abc/.ssh/authorized_keys
cat /home/abc/id_rsa.pub >> /home/abc/.ssh/authorized_keys
5.修改sshd服務(wù)配置
sudo vi /etc/ssh/sshd_config #這里需要用管理員權(quán)限
找到以下參數(shù),取消前面的注釋后保存
PubkeyAuthentication yes
systemctl restart sshd #重啟sshd服務(wù)
6.客戶端用私鑰登錄
ssh abc@123.123.123.123 -i C:\Users\我的用戶名\.ssh\id_rsa #-i和后面的參數(shù)可以省略
7.為了方便登錄,可以在客戶端的.ssh/目錄下增加配置文件config,內(nèi)容如下
Host centos_abc
HostName 123.123.123.123
Port 22
User abc
IdentityFile C:\Users\我的用戶名\.ssh\id_rsa
以后就可以用如下方式登錄
ssh centos_abc