4. 秘钥连接服务器
一、在 Windows 客户端(SecureCRT)生成 SSH 密钥
打开 SecureCRT 启动 SecureCRT,点击菜单
工具 (Tools)
→创建公钥 (Create Public Key)
。选择密钥类型
在弹出的窗口中选择 RSA(推荐)或 ECDSA,然后点击 下一步 (Next)。
密钥长度 选择 2048 或 4096(更安全)。
继续点击 下一步 (Next)。
设置密钥密码(可选)
你可以设置一个密码来保护私钥,也可以留空(无密码)。
点击 下一步 (Next) 继续。
保存公钥和私钥
私钥 默认存放在
C:\Users\你的用户名\.ssh\id_rsa
(或.pub
为公钥)。公钥 需要复制到 RHEL8 服务器上。
记住保存路径,点击 完成 (Finish)。
二、上传公钥到 RHEL8 服务器
你可以用以下任一方法上传密钥:
方法 1:手动上传(推荐)
查看公钥(公钥文件通常是
id_rsa.pub
):复制输出的内容。
连接到 RHEL8 服务器(使用密码登录) 在 SecureCRT 或其他 SSH 客户端中登录:
将公钥粘贴到
~/.ssh/authorized_keys
方法 2:使用 scp
传输
scp
传输在 Windows 的 cmd
或 PowerShell 中运行:
然后在 RHEL8 服务器执行:
三、修改 SSH 服务器配置
编辑 SSH 配置文件:
确保以下配置项正确:
保存后,重启 SSH 服务:
四、在 SecureCRT 配置 SSH 密钥
打开 SecureCRT,点击
会话 (Session)
→连接 (Connect)
。选择服务器,点击
属性 (Properties)
。在左侧
身份验证 (Authentication)
选项下:确保 公钥 (Public Key) 被启用。
选择 公钥文件(Private Key File),路径为你之前生成的
id_rsa
文件。
点击 确定,然后尝试连接。
五、测试 SSH 密钥登录
在 SecureCRT 中,选择服务器连接,看看是否无需输入密码即可登录。
如果无法连接,检查:
~/.ssh/authorized_keys
文件权限 (600
)。~/.ssh
目录权限 (700
)。/etc/ssh/sshd_config
配置是否正确。服务器是否正确加载了
authorized_keys
。
这样,你就可以通过 SecureCRT 使用 SSH 密钥认证连接 RHEL8 服务器了
六、测试 SSH 密钥登录
要防止 SSH 会话超时,客户端(SecureCRT) 和 服务器端(sshd_config) 都可以进行配置
1. 客户端(SecureCRT)配置
SecureCRT 需要配置 保持活动(Keep Alive) 选项,以便在空闲状态下发送心跳包,防止超时。
方法 1:启用 Send protocol NO-OP
Send protocol NO-OP
打开 SecureCRT。
进入 "Options"(选项) -> "Session Options"(会话选项)。
在左侧菜单中选择 "Terminal" -> "Anti-idle"(防空闲)。
勾选 "Send protocol NO-OP (SSH2 only)"。
设置 时间间隔(Interval)为 30 秒。
方法 2:使用 Send String
发送回车
Send String
发送回车进入 SecureCRT 的 "Session Options"(会话选项)。
在 "Terminal" -> "Anti-idle"(防空闲) 选项中:
选择 "Send string"。
在 字符串框 输入一个 回车键(\r)。
时间间隔(Interval)设为 30 秒。
方法 3:全局设置(适用于所有会话)
如果要对所有 SSH 连接生效:
Options -> Global Options。
选择 Default Session -> Edit Default Settings。
进入 "Terminal" -> "Anti-idle",按照 方法 1 或 2 配置。
2. 服务器端(sshd_config)配置
服务器端 sshd_config
也可以配置心跳机制,确保会话不会因超时断开。
步骤 1:修改 /etc/ssh/sshd_config
/etc/ssh/sshd_config
用 vim
打开 SSH 配置文件:
添加/修改以下参数:
参数解释:
ClientAliveInterval 30
→ 每 30 秒 服务器发送一次心跳包。ClientAliveCountMax 3
→ 如果 3 次心跳无响应,则断开连接。TCPKeepAlive yes
→ 允许 TCP 层保持连接活跃。
步骤 2:重启 SSH 服务
配置完成后,重启 SSH 服务:
最后更新于
这有帮助吗?