Linux 配置SSH互信

最简单的一种形式配置主机间的互信,假设有两台主机A、B,A作为客户端,B作为目标机,可以做如下配置:

在A客户端设置:

bash 复制代码
➜  ~ ssh-keygen -t rsa -b 2048 -f my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in my_key
Your public key has been saved in my_key.pub
The key fingerprint is:
SHA256:Ls8NyhrXtrCZQ2lNU+h4E7MPpWu4BjtSo15ZOPSRIo0 xxx@xxxx.local
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|   o   .+ o      |
|  E + oo B       |
|   o +..X        |
|    o o*S*       |
|    ++=o+ .      |
|   o+*+o=        |
|  o.o++@ +       |
| ....+*.+ .      |
+----[SHA256]-----+
➜  ~

将公钥分发到主机B

bash 复制代码
ssh-copy-id root@192.168.86.129

确保目标主机上的 ~/.ssh/authorized_keys 文件的权限为 600

bash 复制代码
chmod 600 ~/.ssh/authorized_keys

设置 SSH 服务

bash 复制代码
vim /etc/ssh/sshd_config

修改如下

bash 复制代码
PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile      .ssh/authorized_keys

重启ssh服务

bash 复制代码
systemctl restart sshd

验证免登录

bash 复制代码
➜  ~ ssh root@192.168.86.129
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sun Dec 29 21:19:23 2024 from 192.168.86.1
[root@localhost ~]#

这是最基础,最简单的用法。

当然更加规范的用法是在互信机器之外为用户(注意,是为用户,不是为某个机器)生成密钥,比如说密钥中心等,这里就不再展开说了

相关推荐
Nerd Nirvana1 小时前
软考—系统架构设计(案例 | 论文)
linux·系统架构·软件工程·软考·计算机基础
勤奋的凯尔森同学2 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
技术小齐6 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风6 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
打不了嗝 ᥬ᭄7 小时前
Linux的权限
linux
落幕7 小时前
C语言-进程
linux·运维·服务器
深度Linux7 小时前
C++程序员内功修炼——Linux C/C++编程技术汇总
linux·项目实战·c/c++
chenbin5207 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯7 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹7 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频