配置SSH免密登录的基本操作以及常见问题

基本原理:

就是本地服务器想要连接远程服务器免密登录,需要把本地服务器的id_rsa.pub文件内容写进远程服务器的authorized_keys里面。


image.png

基本操作流程:

  1. 生成公钥以及密钥:

id_rsa就是私钥,id_rsa.pub文件就是公钥文件,使用命令ssh-kengen可以生成私钥/公钥对。

私钥/公钥对的生成算法有两种RSA和DSA。

RSA是非对称加密算法,可以用来加密和签名

DSA(Digital Signature Algorithm)只可以用来数字签名的算法

使用ssh-keygen -t rsa命令,表示使用RSA生成私钥/公钥对,然后一路回车。

若是不想回车,可使用如下命令一键式生成

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa.
  1. 上传公钥到对应的服务器

方法一 :

  • 将本地服务器生成的公钥拷贝到远程服务器上
scp -p id_rsa.pub 用户名@远程服务器ip:~/.ssh/id_rsa.pub1

然后,在远程服务器上:

cat id_rsa.pub1 > authorized_key

验证查看文件authorized_key中是否有id_rsa.pub1文件的内容

方法二:

  • 使用命令ssh-copy-id可以将认证文件加载到对应的服务器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@远程服务器ip

常见问题定位

系统日志:/var/log/secure。ssh连接失败的报错,在这里记录。

  • 目录权限的问题

解决:相关目录权限不对,按照前面的叙述修改目录权限

2)sshd_config文件配置错误。

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes

改成

StrictModes no 

重启sshd服务

systemctl restart  sshd

你可能感兴趣的:(配置SSH免密登录的基本操作以及常见问题)