Linux主机间的相互免秘钥

主机间的相互免秘钥

1.生成密钥

复制代码
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  • 运行以上命令后会在 ~/.ssh/ 目录下生成一对密钥对。

2.拷贝公钥

把自己的公钥传递给对方主机即可,这个公钥文件必须放在对方主机的~/.ssh/authorized_keys 文件中。

复制代码
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.163.102
  • 第一次建立连接时会弹出一个警告,需要输入 yes 将该主机添加到当前设备的已知主机列表中。这个警告是可以忽略的.
  • 查看对方主机的 ~/.ssh/authorized_keys
  • 传输文件测试是否已免密

3.SSH 公钥检查

  • SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机。
  • 接受后就会将该主机的公钥追加到文件 ~/.ssh/known_hosts 中。

为了方便,关闭严格的密钥检查。

复制代码
本次生效: ssh -o StrictHostKeyChecking=no root@node01

永久生效:修改 /etc/ssh/ssh_config 文件的配置,在 Host * 节点下配置以下信息:
# 严格的密钥检查 no
StrictHostKeyChecking no
  • SSH 对主机公钥的检查等级是根据 StrictHostKeyChecking 变量来配置的:

    • StrictHostKeyChecking=no :最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网建议使用。如果访问的计算机的公钥在本地不存在,会自动添加到文件中(默认是 known_hosts ),并且给出一个警告
    • StrictHostKeyChecking=ask :默认的级别,就是出现刚才的提示。如果连接和公钥不匹配,给出提示,并拒绝登录。
    • StrictHostKeyChecking=yes :最安全的级别,如果连接和公钥不匹配,拒绝连接,不会提示详细信息。
相关推荐
灵晔君4 分钟前
【Linux】进程控制(一)——进程创建、进程终止与进程等待
linux·c语言·算法
hyf3266338 分钟前
低成本站群泛程序部署:单服务器托管百站稳定运行教程
运维·服务器·前端·搜索引擎·蜘蛛池
wsad053213 分钟前
CentOS 10 上使用 Docker Compose 部署 Discuz X5.0 论坛完整教程
linux·docker·centos·discuz
张宇Joaquin18 分钟前
openEuler编译和更换内核的方法
java·linux·服务器
小此方19 分钟前
Re:Linux系统篇(五十六)线程篇 · 九:基于阻塞队列的生产者消费者模型与条件变量
linux·运维·服务器
迷途之人不知返23 分钟前
自动化工程的构建
linux·自动化
电商API_180079052479 小时前
京东商品详情API技术文章
大数据·运维·人工智能·网络爬虫
三言老师10 小时前
秘诀-如何远程SSN访问家里的八台电脑(frp 实操方案)
linux·运维·ssh
躺不平的理查德10 小时前
ARCH与交叉编译器的关系
服务器·arm
举手11 小时前
Dispatcher模块剖析
linux·c++