12.2. 为隔离的目标机器配置 SSH 身份验证
要让 RHEL MCP 服务器在隔离的网络环境中管理目标机器,您必须配置基于 SSH 密钥的身份验证。通过 SSH 配置,服务器在没有手动密码条目的情况下安全地运行命令,即使机器缺少外部互联网访问。
注意
您必须在所有受管系统中完成这个步骤,以便 MCP 服务器可以与目标通信。
先决条件
- 客户端机器,运行 MCP 服务器的主机,以及您选择的操作系统。
- RHEL 目标系统。
- 客户端和目标之间的内部网络连接。两台机器都必须位于同一本地网络或 VLAN 中,因为它们无法使用公共网络互相访问。
流程
在 MCP 服务器客户端机器上生成 SSH 密钥对:
$ ssh-keygen -t ed25519 -C "mcp-server-key" -f ~/.ssh/id_ed25519_mcp登录到您的 RHEL 目标机器,并为 MCP 服务器创建一个专用的非 root 用户帐户:
$ sudo useradd mcp $ sudo passwd mcp将公钥从客户端机器复制到目标机器:
$ ssh-copy-id -i ~/.ssh/id_ed25519_mcp.pub mcp@<target-ip-address><target-ip-address>指定目标机器的 IP 地址。
如果防火墙策略限制
ssh-copy-id命令,请手动将公钥附加到目标系统的/home/mcp/.ssh/authorized_keys文件中。
验证
重启 SSH 服务:
$ sudo systemctl restart sshd