ssh 基于key 远程访问
单向的基于key 验证
步骤两步
1、生成公钥私钥对,
[root@entos7 /]# ssh-keygen
直接按照默认enter 下午
2、把公钥拷贝给目标主机
[root@entos7 ~]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.151 #10.0.0.151 是目标主机,这一步需要输入目标主机的密码
所以可以用非交互式的 sshpass 命令
需要安装包 yum -y install sshpass
[root@entos7 ~]# sshpass -p 123456 ssh-copy-id -o StrictHostKeyChecking=no root@10.0.0.151 #123456 是10.0.0.151root 用户的密码,这条命令可以不用在手工输入密码
3、测试
[root@entos7 ~]# ssh 10.0.0.151 hostname -I
10.0.0.151
多台机器互相基于key 验证,且免密
1、准备三台机器 IP 10.0.0.150 151 152 对应的主机名 node01 node02 node03
2、三台主机都修改配置文件 /etc/hosts 增加以下内容
10.0.0.150 node01
10.0.0.151 node02
10.0.0.152 node03
3、生成密钥对 三台机器上都执行
[root@entos7 /]# ssh-keygen 也可以 ssh-keygen -t rsa
这时会发行 root 下多了一个 .ssh 文件夹,且里面有两个文件
[root@node01 ~]# ll .ssh/
total 8
-rw------- 1 root root 1675 Mar 8 22:00 id_rsa #这是私钥
-rw-r--r-- 1 root root 393 Mar 8 22:00 id_rsa.pub #这是公钥
3、在三台机器上执行 以下命令
[root@entos7 ~]# ssh-copy-id node01
会发现node01 机器的 .ssh 文件夹下多了一个文件 authorized_keys 这个你会发现,他的内容和是三台机器的公钥内容是一样的
3、将authorized_keys拷贝到 node2 node 3 去
[root@node01 ~]# cd /root/.ssh/
[root@node01 .ssh]# scp authorized_keys node02:/root/.ssh/ #将
[root@node01 .ssh]# scp authorized_keys node03:/root/.ssh/
测试:
[root@node03 .ssh]# ssh node01
Last login: Tue Mar 8 22:16:01 2022 from node03
[root@node01 ~]# ssh node02
Last login: Tue Mar 8 22:14:08 2022 from node01
[root@node02 ~]#
注意,第一次ssh 的时候,还是会让你输入yes 第一次以后就不需要了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?