Linux主机间的相互免秘钥

主机间的相互免秘钥

1.生成密钥

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

2.拷贝公钥

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

复制代码
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
  • 第一次建立连接时会弹出一个警告,需要输入 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 :最安全的级别,如果连接和公钥不匹配,拒绝连接,不会提示详细信息。
相关推荐
apocelipes2 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
ABB自动化3 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉3 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗3 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
利刃大大3 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
2301_793102493 小时前
Linux——MySql数据库
linux·数据库
vfvfb4 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
jiunian_cn5 小时前
【Linux】centos软件安装
linux·运维·centos
藥瓿亭5 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
程序员JerrySUN5 小时前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构