有时候为了安全,或者是当你有很多VPS,方便SSH远程登陆,你可以配置SSH公钥,通过SSH公钥登陆,从而实现Linux VPS的免密登陆,不用每次都输入VPS的远程密码。本文介绍下SSH公钥、SSH公钥生成方式,以及如何配置SSH公钥,实现SSH免密登陆。
SSH与SSH公钥
SSH,即Secure Shell,简单点说就是以重网络协议,用于计算机之间的加密远程登陆,这种登陆方式是安全的,即使中途被截获,密码也不会泄露。
每次SSH时,都需要输入目标计算机的密码,而SSH公钥的作用就是可以将自己计算机的公钥存储在远程主机上,通过SSH公钥认证,省去每次都要输入密码的麻烦。普通的SSH远程、GitHub代码提交等等,都是支持SSH公钥认证的。
SSH免密登陆
下面介绍下配置SSH免密登陆的步骤,其实非常简单,就是在本机上生成SSH公钥,之后将本机的SSH公钥拷贝到目标VPS并配置authorized_keys,就可以实现SSH免密登陆了。
1.SSH公钥生成
在本机上执行如下代码生成SSH公钥,一路回车默认设置即可:
ssh-keygen
之后会在/root/.ssh
下生成一个id_rsa.pub文件,这个就是你本机的SSH公钥。
2.拷贝SSH公钥文件
将你本机的SSH公钥文件拷贝到需要远程的VPS上,之后进去目标VPS的/root/.ssh
文件夹下,将刚才的本机公钥文件写入到authorized_keys中:
cat id_rsa.pub >> authorized_keys
3.免密登陆
之后,再远程的时候直接通过ssh user@ip
就可以免密登陆了,如下图所示: