温馨提示×

Linux SecureCRT如何配置密钥认证

小樊
49
2025-10-01 06:33:37
栏目: 智能运维

Linux环境下SecureCRT配置SSH密钥认证步骤

1. 生成SSH密钥对

在本地计算机(如Windows或Linux)上生成RSA密钥对(推荐4096位密钥长度),用于身份认证。

  • Windows系统:打开SecureCRT,点击顶部菜单栏【Tools】→【Generate Key Pair】(生成密钥对);在弹出窗口中选择RSA算法,设置密钥长度(如4096位),可选输入Passphrase(私钥密码,增强安全性);点击【Generate】生成密钥对,保存私钥(Identity)和公钥(Identity.pub)到本地目录(如桌面)。
  • Linux系统:打开终端,运行命令ssh-keygen -t rsa -b 4096 -C "your_email@example.com";按提示选择私钥保存路径(默认~/.ssh/id_rsa),可选设置Passphrase;生成后私钥位于~/.ssh/id_rsa,公钥位于~/.ssh/id_rsa.pub

2. 将公钥上传至远程服务器

将本地生成的公钥内容添加到远程服务器的~/.ssh/authorized_keys文件中,实现“钥匙-锁”的认证匹配。

  • 方法1:使用ssh-copy-id命令(推荐)
    在本地终端运行ssh-copy-id user@remote_hostuser为远程服务器用户名,remote_host为服务器IP或域名);输入远程服务器密码后,公钥会自动复制到服务器的~/.ssh/authorized_keys文件中。
  • 方法2:手动复制
    用文本编辑器打开本地公钥文件(如~/.ssh/id_rsa.pub),复制全部内容;登录远程服务器,运行mkdir -p ~/.ssh(若.ssh目录不存在则创建);将公钥内容追加到~/.ssh/authorized_keys文件中(echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys);设置authorized_keys文件权限为600chmod 600 ~/.ssh/authorized_keys),防止未授权访问。

3. 配置远程服务器SSH服务

修改服务器SSH配置,启用公钥认证并禁用密码认证(提升安全性)。

  • 编辑SSH配置文件:sudo vim /etc/ssh/sshd_config(需管理员权限);
  • 找到并修改以下配置项(取消注释或新增):
    PubkeyAuthentication yes      # 启用公钥认证
    AuthorizedKeysFile .ssh/authorized_keys  # 指定公钥文件路径
    PasswordAuthentication no     # 禁用密码认证(可选,但推荐)
    
  • 保存并退出编辑器(:wq),重启SSH服务使配置生效:
    sudo systemctl restart sshd   # 大多数Linux系统
    # 或 sudo service ssh restart   # 旧版系统
    

4. 在SecureCRT中配置会话密钥认证

将本地私钥与SecureCRT会话关联,实现免密码登录。

  • 打开SecureCRT,点击顶部菜单栏【File】→【New Session】(新建会话);
  • 在“Session Options”窗口中,输入远程服务器的IP地址/域名用户名,选择SSH2协议(默认端口22);
  • 展开左侧导航栏【Connection】→【SSH2】→【Auth】(认证);
  • 在“Authentication method”(认证方法)下拉菜单中选择Public Key(公钥);
  • 点击“Browse”(浏览)按钮,选择本地生成的私钥文件(如~/.ssh/id_rsa或SecureCRT保存的Identity文件);
  • 若私钥设置了Passphrase,需在“Passphrase”字段输入(若未设置则留空);
  • 点击【OK】保存会话配置。

5. 测试密钥认证连接

使用配置好的会话连接远程服务器,验证密钥认证是否生效。

  • 在SecureCRT中双击已配置的会话名称,或点击顶部菜单栏【Connect】(连接);
  • 若配置正确,SecureCRT会自动使用私钥进行认证,无需输入密码即可登录远程服务器;
  • 若提示“Permission denied (publickey)”,需检查以下问题:
    • 私钥文件权限是否为600chmod 600 ~/.ssh/id_rsa);
    • 服务器authorized_keys文件权限是否为600
    • SSH配置是否启用了公钥认证(PubkeyAuthentication yes)。

通过以上步骤,即可在Linux环境下使用SecureCRT配置SSH密钥认证,实现安全、便捷的远程登录。

0