ssh免密登录

发布时间:2022-06-20 18:12:14 作者:yexindonglai@163.com 阅读(863)

准备

有2台机器,分别为:

  • A:192.168.1.101
  • B:192.168.1.102

A想要免密登录B服务器,那么就需要在A机器上先生成密钥对

1、检查是否已有 SSH 密钥对

通过以下命令检查是否已经生成了 SSH 密钥对,若已存在则可直接跳到第三步进行操作;

  1. ls -al ~/.ssh/id_*.pub

需要注意的是:在公司里进行配置免密登录时,如果密钥对已存在,且需要覆盖时,需要先确认下是否有其他同事在使用,避免其他同事的免密登录变得不可用;

2、生成密钥对

如果密钥对不存在,,或者已存在想要覆盖原密钥对,则可以使用以下命令生成一个以下2个命令选其一即可;

  1. ssh-keygen -t rsa
  2. # 或者
  3. ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

输入以上命令后一直按回车键即可,全部都用默认的选项,控制台显示以下内容表示成功!

生成后,再次进入.ssh目录下,检查密钥对是否已生成,下图是已生成的密钥对

3、将A生成的密钥对导入到B服务器

导入的方式有2种

3.1、使用ssh导入

这种方式是将密钥对追加到B服务器的 authorized_keys 文件

  1. ssh guest2@server2 cat /home/guest2/.ssh/id_rsa.pub >> authorized_keys
3.2、使用ssh-copy-id 导入(推荐使用)

ssh-copy-id 命令会自动将本机的密钥对导入到目标机器上,简单又方便

  1. ssh-copy-id remote_username@server_ip_address

导入后就可以使用 ssh guest2@server2 命令进行免密登录了,

关键字linux