多台服务器如何设置SSH免密登录

本次测试需要服务器己安装好 ssh-keygen和ssh-copy-id。安装方式如下:

安装ssh-keygen和ssh-copy-id

[root@localhost ~]# yum install -y ssh-keygen

[root@localhost ~]# yum install -y ssh-copy-id

1、在客户端机器上生成密钥,这里连续三个回车默认即可。

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KjTbCQYF1WzPvmkbxlZH5lU1yYYEaY3H4LHKoXVObzE root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .ooo +O.o.=|
| . + .+o= =.|
| . . o o.=+Eo |
| . * *+..o |
| = oSo..oo |
| o = +.. .. |
| o + =o |
| . o+. |
| … |
+----[SHA256]-----+

[root@localhost ~]#

3、进入到/root/.ssh/目录下,查看是否生成密钥成功,这里一共生成三个文件,本次主要用到的是id_rsa.pub:私钥(本次实验用到的)

[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# ls
id_rsa id_rsa.pub known_hosts

4、通过命令复制私钥到服务器端,这里因为还没免密登录所以这里会要输入服务器密码。

[root@localhost .ssh]# scp id_rsa.pub root@192.168.137.130:/root/.ssh
root@192.168.137.130's password:
id_rsa.pub

5、登录到服务器上,查看客户端通过SCP复制文件是否成功,并查看密钥内容不为空。并通过使用>>进行追加至authorized_keys, 不要用>, 那会清空原有内容 。

[root@localhost .ssh]# cd /root/.ssh/
[root@localhost .ssh]# ls
known_hosts
[root@localhost .ssh]# ls
id_rsa.pub known_hosts
[root@localhost .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2PCL8vIWQAToT2NZ4PCHRqW3Yqic8nQAuk4g6Z2VQ7rUR/uxNnqwAPBFDA/RT7ejA7z+71sESqbQPBaIxgPDNtNAQVoRLQZ8YSoMG5q10uy+4QNP6DhRv4Bu116Xnm3BXDJKWatnu5x6+XYaygEAga/imp7JUmmtKz8xWnx+Ajwl0UMqIqzB3FH01KWlBGNOgr1VQgO4RyV3/cZTkJS6AGEuUmFKGpQwUJ8c6H4iokcPpy2Y/YMmKvCPMWN9hyoIiwKFyXQJ/VcfnIgDHjGOJ7ZJV68zQF6mLCXbBMEeofDgXKBLnxXRIYN9wy0zq8HE4uiUWTPHB8BtdE/4joQQP root@localhost.localdomain
[root@localhost .ssh]#
[root@localhost .ssh]#
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa.pub known_hosts

6、追加内容成功后这里cat一下确定成功后,修改权限为644

[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2PCL8vIWQAToT2NZ4PCHRqW3Yqic8nQAuk4g6Z2VQ7rUR/uxNnqwAPBFDA/RT7ejA7z+71sESqbQPBaIxgPDNtNAQVoRLQZ8YSoMG5q10uy+4QNP6DhRv4Bu116Xnm3BXDJKWatnu5x6+XYaygEAga/imp7JUmmtKz8xWnx+Ajwl0UMqIqzB3FH01KWlBGNOgr1VQgO4RyV3/cZTkJS6AGEuUmFKGpQwUJ8c6H4iokcPpy2Y/YMmKvCPMWN9hyoIiwKFyXQJ/VcfnIgDHjGOJ7ZJV68zQF6mLCXbBMEeofDgXKBLnxXRIYN9wy0zq8HE4uiUWTPHB8BtdE/4joQQP root@localhost.localdomain
[root@localhost .ssh]#
[root@localhost .ssh]# chmod 644 authorized_keys

关于权限注意:
对普通用户,建议设置成600权限: chmod 600 authorized_keys
对root用户,建议设置成644权限: chmod 644 authorized_keys

7、在客户端上通过ssh免密登录成功

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4854

(0)
郭靖的头像郭靖
上一篇 2022年6月16日 上午11:06
下一篇 2022年6月16日 下午3:49

相关推荐

  • Windows下安装Nginx错误总结

    别问我为啥非要在Windows上按照Nginx,问的话,回答就是:有这个需求 1:CreateFile()“xxxxx” failed (3: The system cannot find the path specified) 产生原因:创建文件xxxx异常了。大多数情况就是因为:安装目录中存在中文或者是空格 比如凯哥的就是因为存在空格。凯哥第一…

    2024年5月11日
    71800
  • frp配置多端口内网穿透?frp多端口怎么配置?

    FRP内网穿透应用场景:本地Web服务外网访问、本地开发微信、本地联调支付宝\微信支付、TCP/UDP端口转发 在本机开发好的网站想让客户测试不在需要上传到服务器上面,使用FRP内外网穿透轻松解决;微信开发也不需要在上传到服务器,使用免费FRP内网穿透服务器帮您解决80端口问题,实现微信服务器直接访问到您本机web服务。 使用frp作为内网穿透的时候,有时候…

    2024年5月10日
    80600
  • Ansible 连接主机显示报错的处理方案

    一、在ansible安装完毕后一般需要以SSH的方式连接到需要进行管理的目标主机,一开始遇到了如下问题: 原因分析:没有在ansible管理节点(即安装ansible的节点)上添加目标节点(即需要管理的节点)的ssh认证信息。 解决步骤:1:管理节点生成SSH-KEY 成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsa及id_rsa.pub2:添…

    2023年9月28日
    98900
  • 用户管理命令

    useradd 命令 创建普通用户 指定uid和组 创建用户,禁止登录且不创建家目录 使用 -M -s 参数 userdel命令 删除用户与相关文件 案例 passwd命令 passwd命令修改用户密码和过期时间等,root可以改普通用户,反之不可以 一条命令设置密码,企业常用 echo “密码” | passwd — stdin 用户名 –s…

    2022年6月11日
    1.2K00
  • Expect解决shell脚本的交互需求

    在linux系统中,shell脚本可以大大提高我们的工作效率。但遇到需要交互的场景时,shell脚本却无法解决。 简介 Expect语言是基于Tcl的。Tcl实际上是一个子程序库,这些子程序库可以嵌入到程序里从而提供语言服务。 最终的语言有点象一个典型的 Shell语言。里面有给变量赋值的set命令,控制程序执行的if,for,continue等命令,还能进…

    2022年11月15日
    98000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信