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 [email protected]
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 [email protected]

确保目标主机上的 ~/.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 [email protected]
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 ~]#

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

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

相关推荐
JAVA和人工智能10 分钟前
linux 安装 canal 的详细步骤
linux·运维·服务器
风筝超冷1 小时前
通过模型文件估算模型参数量大小
linux·服务器
deeper_wind1 小时前
防火墙设置实战操作案例(小白的“升级打怪”成长之路)
linux·运维·网络
huangyuchi.1 小时前
【Linux】自动化构建-Make/Makefile
linux·运维·服务器·笔记·自动化·makefile·make
搬码临时工2 小时前
什么是内网映射?如何将内网ip映射到外网访问?
运维·服务器·网络·网络协议·tcp/ip·智能路由器
千里镜宵烛2 小时前
Linux--进程概念
linux·运维·服务器
无聊的小坏坏2 小时前
Linux 进程调度与管理:从内核管理到调度机制的深度解析
linux·ubuntu
中云时代-防御可测试-小余2 小时前
高防服务器价格高原因分析
运维·服务器·tcp/ip·安全·web安全·udp·ddos
FungLeo2 小时前
node 进程管理工具 pm2 的详细说明 —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录 7
linux·服务器·ubuntu·pm2·node 进程管理