SSH免密切换服务器案例-ssh协议(公钥和私钥)

公钥和私钥理解

公钥提供加密,私钥解密,公钥可以共享,私钥不可以。举例公钥相当于锁头,可以给别人用,钥匙相当于私钥,只能开自己发出去的锁头,也就是私钥和公钥成对,私钥只能解密对应的公钥数据。

说明:登录的服务器作为主机1,跳转的作为主机2,实现无密码跳转,需要将主机1的公钥放到主机2的相关目录下(家目录/.ssh/authorized_keys,文件名是固定的,由于公钥文件默认名字是id_rsa.pub,所以可以利用cat id_rsa.pub >>authorized_keys 将公钥写入到此文件中,在移动到相关目录下即可)

一:公钥私钥的建立

命令:ssh-keygen,会在家目录下面创建.ssh/**出公钥和私钥文件,查看生成结果

带pub的是公钥,不带的是私钥,需要把公钥放到跳转的服务器相关目录下,创建authorized_keys文件,并将公钥内容写入即可

二:ssh命令切换服务器

正常切换时候提示需要输入密码

三:通过公钥设置ssh免密切换服务器

1)传输root用户将第一步生成的公钥传输到用户wdf上的家目录上,利用scp命令

注意:此时传输还是需输入密码的,切换wdf查看文件是否传输过来了

可以看到文件已经过来了,我是开两个端口,不通用户登录root和wdf

2)在wdf服务器利用ssh-keygen生成公钥私钥,个人感觉可以创建相关目录也可以,不过方便双向切换或者和其他主机无密码切换还是生成一下,以后维护也方便

输入命令,一致回车就可以了,主要目录在这里,下图

3)修改root用户传过来的公钥,将内容写入到authorized_keys中,移动到用户wdf家目录下.ssh目录下,设置权限644,这个可以参考root公钥权限

生成authorized_keys文件,并mv到指定目录下

4)从root切换wdf-通过ssh切换,正常应该是不通机器测试,不过条件有限,原理都一样。

再次测试如下图

还是需要输入密码,查看权限不是644(664),设置下权限,重新测试

修改权限后如图

成功跳转

失败点:由于没修改authorized_keys权限为644导致测试失败,其他都正常设置即可。


更简单的方法就是通过ssh-copy-id wdf@localhost命令可以直接完成上面所有操作,感兴趣的朋友可以测试下

相关推荐
vvw&1 分钟前
如何在 Linux 中安装和使用 nftables
linux·运维·服务器·ubuntu
桌面运维家5 分钟前
KVM虚拟机:Neutron网络故障诊断与修复实战
服务器·网络·php
❀͜͡傀儡师6 分钟前
Apifox投毒事件深度分析报告:供应链攻击窃取SSH密钥与Git凭据
git·ssh·apifox
zl_dfq7 分钟前
计算机网络 之 【http协议】(简易HTTP服务器实现逻辑)
服务器·计算机网络·http
BlackPercy25 分钟前
[deepin] 搭建 openclaw
linux·deepin·openclaw
Fairy要carry1 小时前
项目03-手搓Agent之团队协作(发消息/分配任务)
linux·前端·python
AzusaFighting1 小时前
ROS 2 Jazzy (Ubuntu Noble 24.04)部署
linux·运维·ubuntu
天启HTTP1 小时前
多线程环境下,动态IP怎么分配最合理
java·服务器·网络
cyber_两只龙宝1 小时前
【Docker】搭建企业级私有harbor仓库全流程详解
linux·运维·docker·云原生·容器
serve the people1 小时前
ACME 协议流程与AllinSSL 的关系(三)
服务器·网络·https