9.linux系统管理-ssh免密配置

原理

1、ssh 客户端向 ssh 服务器端发送连接请求

2、ssh 服务器端发送一个随机的信息

3、ssh 客户端使用本地的私钥对服务器端发送过来的信息进行加密

4、ssh 客户端向服务器端发送加密过后的信息

5、ssh 服务器端使用公钥对该信息进行解密

6、若解密之后的信息和之前发送的信息匹配,则信任客户端,否则不信任。

单向登陆

例如,服务器1免密码登陆服务器2。

1、在服务器1上执行命令ssh-keygen -t rsa,一路回车,会在/home/系统用户名/.ssh下,生成id_rsa.pub、id_rsa两个文件。cat id_rsa.pub查看一下公钥,然后复制。

2、在服务器2上touch 一个文件,文件名为authorized_keys。vim authorized_keys把复制的东西粘贴到这个文件里面。

(当然要确保服务器2的登陆账号目录下有.ssh目录)

3、将服务器2上执行命令chmod 600 authorized_keys修改权限。

4、重启sshd服务。

5、测试免密登录。

多向登陆

例如,服务器1、服务器2、服务器3之间相互免密登陆。

1、在这三台服务器上都执行命令ssh-keygen -t rsa,复制公钥。

2、然后在每台服务器上执行如上操作

3、修改每台服务器上.ssh和authorized_keys的权限(如上)

4、sshd服务添加和重启(如上)。

5、测试免密登录。

Master机器上:

powershell 复制代码
# ssh-keygen -t rsa
# cat /root/.ssh/id\_rsa.pub >> /root/.ssh/authorized\_keys
# ssh-copy-id -i /root/.ssh/id\_rsa.pub root\@slave1
# ssh-copy-id -i /root/.ssh/id\_rsa.pub root\@slave2

Slave机器上(每台操作一样):配置完成ssh测试

shell 复制代码
# ssh-keygen -t rsa
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@master
相关推荐
爱网络爱Linux5 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi6 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
M78佐菲6 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
高亦真6 小时前
今天是学习嵌入式的第37天
linux·学习·算法
一个有温度的技术博主7 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
小小的木头人7 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
东城居士8 小时前
验证第一个Linux字符驱动程序
linux·嵌入式系统
蚕豆糯米饭8 小时前
Github Copilot 研发效能提升实战指南
ai·github·copilot·ai编程
网硕互联的小客服10 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
AlfredZhao10 小时前
GitHub 克隆他人私有仓库:从授权到下载
github