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 :最安全的级别,如果连接和公钥不匹配,拒绝连接,不会提示详细信息。
相关推荐
A-刘晨阳12 分钟前
【Windows压力测试工具】 - 使用微软官方工具进行压测 cpu、内存
运维·windows·测试工具·压力测试·cpustres·testlimit
三朝看客29 分钟前
docker版nacos连接mysql8异常处理 No DataSource set!
运维·docker·容器
TDengine (老段)36 分钟前
强杀服务、重启系统及断电对 TDengine 影响
运维·服务器·数据库·物联网·时序数据库·tdengine·涛思数据
杜子不疼.1 小时前
【Linux】进程状态全解析:从 R/S/D/T 到僵尸 / 孤儿进程
linux·人工智能·ai
序属秋秋秋2 小时前
《Linux系统编程之进程基础》【进程优先级】
linux·运维·c语言·c++·笔记·进程·优先级
加勒比之杰克2 小时前
【操作系统原理】Linux 进程控制
linux·运维·服务器·进程控制
TDengine (老段)2 小时前
TDengine 字符串函数 TO_BASE64 用户手册
android·大数据·服务器·物联网·时序数据库·tdengine·涛思数据
XH-hui4 小时前
【打靶日记】TheHackerLabs 之 THLPWN
linux·网络安全·thehackerlabs·thl
我是小超人-雨石花7 小时前
Jenkins&Robot Framework持续集成
运维·jenkins·ci
wanhengidc9 小时前
云手机的软件核心是什么
运维·服务器·web安全·游戏·智能手机