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
相关推荐
啦啦啦!1 小时前
虚拟机如何接入Codex并配置中转站(vscode插件版)
linux·vscode·ubuntu·编辑器
love530love1 小时前
Ubuntu系统通过Homebrew安装Lightpanda完整实战教程(含端口占用排坑)
大数据·linux·运维·人工智能·elasticsearch·搜索引擎
j7~1 小时前
【Linux】二十八.线程篇五《Linux多线程编程:线程同步之条件变量》---详解
linux·运维·c++·学习·条件变量·线程同步
似水এ᭄往昔1 小时前
【Linux网络编程】--UDP__SCOKE
linux·计算机网络
NutShell Wang1 小时前
拆解 GitHub gh-stack:堆叠 PR 工作流的设计取舍与工程实现
前端·git·开源·github·代码复审·开发者工具·vibe coding
码农阿豪2 小时前
多台服务器还在反复输SSH?用EasyNode集中管理连接
运维·服务器·ssh
进击切图仔2 小时前
Ubuntu 挂载 XFS 磁盘并免密读写
linux·网络·ubuntu
qetfw2 小时前
Debian Apache2 执行 Shell CGI:动态时间页面配置与验证
linux·运维·debian
Shadow(⊙o⊙)2 小时前
CMake第一章——1.0CMake命令行,拉取源码、平台兼容的门槛技术。
linux·运维·服务器