使用SSH私钥免密登录VPS

1,098 阅读1分钟

之前是用MobaXterm登陆VPS,软件将密码直接缓存,用SSH登陆即可。但最近感觉性能有点卡,就换成Git for windows自带的mintty。非常原始的终端了,自然不能指望它缓存VPS的ip和密码。

查了下,在ssh对应的ssh_config中进行如下设置,就可以在mintty中用ssh vultr代替ip了。

Host vultr
	HostName <ip>
	User root

可是还要每次输入密码呀。又查了下,想继续偷懒,就只能使用SSH的私钥免密登录了。过程如下

#生成密钥对. 注意单独保存个位置,不要和其他的密钥对混淆
ssh-keygen -r rsa 
#将公钥复制到VPS;
#vultr相当于 root@45.76.164.111
ssh-copy-id -i ~/.ssh/id_rsa.pub vultr

然后在ssh_config中继续设置

Host vultr
	HostName <ip>
	User root
	PreferredAuthentications publickey
	IdentityFile /xxx/xxx/id_rsa

好了! 总结如下,这样之后换VPS只需要ssh-copy-id这一步即可。

密钥形式登录的大概原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。