在登录远程linux主机时,为了避免输入密码,可以将本地ssh公钥上传到远程linux主机上,进行一些配置,达到免密登录的效果。
本地生成ssh密钥对
# ssh-keygen -t rsa -C "<email>"
ssh-keygen -t rsa -C "xxx@163.com"
# rsa: RSA加密
windows下,先安装git,然后再git终端中输入上述命令,生成的密钥在/c/User/<username>/.ssh/
文件夹中。id_rsa
为私钥文件,id_rsa.pub
为公钥文件。
远程linux主机配置
在远程linux主机的~/.ssh/
目录下新建authorized_keys
文件。将本地公钥复制到authorized_keys
中。
检查ssh配置
sudo vim /etc/ssh/sshd_config
检查下面三项是否配置。
PasswordAuthentication yes # 口令登录
RSAAuthentication yes # RSA认证
PubkeyAuthentication yes # 公钥登录
# 当修改了ssh配置时,重启ssh服务
sudo service ssh rstart
然后验证是否可以免密登录。