Linux 配置SSH免密码登录

Linux idb 74℃ 0评论

Linux 配置SSH免密码登录

系统环境:
SSH主服务器:192.168.56.222 主机名:dbrecover 用户名:monitor
SSH客户端:192.168.56.210 主机名:sshclient 用户名:monitor

有时候,我们为了方便远程登录巡检或者传输文件,配置SSH免密是其中一个不错的方法。最近在做数据迁移时,为了提升迁移的速度,减少文件传输时间。就做了SSH免密码登录。本次实验笔记主要是实现192.168.56.222 免密登录以及免密执行 192.168.56.210 上面的操作系统命令。

1、登录主机:192.168.56.222

首先创建rsa公钥,

在monitor 用户下面会生成一个.ssh的隐藏目录。

在.ssh目录下面会生成两个加密文件。其中id_rsa.pub为公钥。需要放在ssh 免密访问的服务器

2、目标主机操作:192.168.56.210

将SSH主服务器192.168.56.222的id_rsa.pub文件复制到monitor用户的.ssh目录下面。因为我实验环境192.168.56.210的monitor用户下面没有创建相关ssh密钥文件。所以没有.ssh目录,需要手工创建。

并且再将这个公钥文件的内容加入到authorized_keys文件。

在本次实验中因为用户名都是monitor,所以还可以用下面两种方式,将192.168.56.222的monitor的authorized_keys文件传输到192.168.56.210服务器。这里之所以分两步添加密钥文件,主要是为了避免生产环境中已经存在.ssh/authorized_keys包含有其他ssh配置以及不同用户名的配置。

方法1:ssh服务端:

方法2:

修改权限,建议都按下面这样修改,否则容易因为权限问题导致无法ssh免密访问。

3、登录主机

首次登录需要输入yes。后面就不需要再输入yes了。直接可以登录。

退出远程登录

测试远程免密登录

测试远程免密执行命令,例如执行hostname命令

如果我们不留意命令执行的输出全部日志,可能会忽略下面的failed提示。虽然不影响免密执行远程命令,但是出于强迫症,还是要解决掉。这个问题主要ssh后面带的是ip地址,它会对IP进行反向解析,而如果我们所在的192.168.56.222服务器/etc/hosts文件里面没有配置192.168.56.210的主机名。因为会有这个failed的提示。

添加host之后,重新远程执行hostname命令,已经不会再出现上面的failed提示。

转载请注明:猫头鹰工作室 » Linux 配置SSH免密码登录

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址