SecureCRT如何配置SSH密钥

SecureCRT如何配置SSH密钥
最新回答
印象苏黎世。

2023-01-12 19:00:53

在SecureCRT中配置SSH密钥的完整步骤如下

第一步:生成密钥对
  1. 打开SecureCRT,依次点击顶部菜单栏的 “工具” > “生成密钥对”
  2. 在弹出的窗口中:

    选择加密算法:推荐 RSA(兼容性最佳)。

    设置密钥长度:默认 1024位(若需更高安全性可改为2048或4096位)。

    设置安全口令(Passphrase):用于加密私钥,增强安全性(可选但建议设置)。

  3. 点击 “完成”,SecureCRT会自动生成两个文件:

    私钥文件(如 Identity):需严格保密,不可泄露。

    公钥文件(如 Identity.pub):需上传至服务器。

第二步:上传公钥至服务器
  1. 传输公钥文件

    使用FTP、SCP或SFTP工具将 Identity.pub 上传到服务器的用户目录下(如 /home/your_user/)。

    确保文件格式为 ASCII码(避免二进制传输导致格式错误)。

  2. 配置服务器端权限

    登录服务器,执行以下命令:cd /home/your_user # 进入用户目录mkdir -p .ssh # 创建.ssh目录(若不存在)chmod 700 .ssh # 设置目录权限为700(仅所有者可读写执行)mv Identity.pub .ssh/authorized_keys # 将公钥重命名为authorized_keyschmod 644 .ssh/authorized_keys # 设置文件权限为644(所有者可读写,其他用户只读)

    关键点

    .ssh 目录权限必须为 700,否则SSH会拒绝认证。

    authorized_keys 文件权限必须为 644,过严或过松均会导致失败。

第三步:修改服务器SSH配置
  1. 编辑SSH服务配置文件:sudo vim /etc/ssh/sshd_config # 或使用nano等编辑器
  2. 确保以下配置项存在且正确(取消注释或修改):PermitRootLogin no # 禁止root直接登录(增强安全性)PubkeyAuthentication yes # 启用公钥认证AuthorizedKeysFile .ssh/authorized_keys # 指定公钥文件路径RSAAuthentication yes # 启用RSA认证(旧版SSH需此项)PasswordAuthentication no # 禁用密码认证(强制使用密钥)
  3. 保存文件后,重启SSH服务:sudo /etc/init.d/ssh restart # 传统SysV系统# 或sudo systemctl restart ssh # Systemd系统(如Ubuntu 16.04+/CentOS 7+)
第四步:配置SecureCRT会话
  1. 创建新会话

    点击 “文件” > “新建会话”,输入服务器IP或域名,选择协议为 SSH2

  2. 设置公钥认证

    在会话配置窗口中,切换到 “SSH2” 选项卡。

    认证方式选择 “PublicKey”,点击 “浏览” 导入之前生成的私钥文件(Identity)。

    若设置了口令(Passphrase),需在此输入以解锁私钥。

  3. 验证私钥权限

    确保私钥文件在本地系统的权限为 600(仅所有者可读写):

    在Windows中:右键文件 > 属性 > 安全 > 限制用户权限。

    在Linux/macOS中:执行 chmod 600 Identity。

  4. 保存会话

    点击 “确定” 保存配置,后续双击会话即可自动登录。

常见问题排查
  • 连接失败

    检查服务器防火墙是否放行SSH端口(默认22)。

    确认 sshd_config 配置已重启生效。

    查看服务器日志:sudo tail -f /var/log/auth.log(Debian/Ubuntu)或 sudo tail -f /var/log/secure(CentOS/RHEL)。

  • 权限错误

    确保 .ssh 目录和 authorized_keys 文件权限严格按上述要求设置。

  • 口令提示

    若私钥设置了口令,每次登录需输入;若需免密,生成密钥时留空口令(不推荐)。

完成以上步骤后,即可通过SSH密钥实现无密码登录,显著提升安全性和操作效率。