温馨提示×

linux securecrt怎样用公钥

小樊
39
2026-09-27 21:13:27
栏目: 智能运维

在 Linux 下使用 SecureCRT 通过公钥(Public Key)登录远程服务器,一般流程如下:


一、在 Linux 本地生成密钥对(如果还没有)

在终端执行:

ssh-keygen -t rsa -b 4096

或(更推荐,安全性更好):

ssh-keygen -t ed25519

按提示操作:

  • 保存路径默认:~/.ssh/id_rsa 或 ~/.ssh/id_ed25519
  • 可设置密码(passphrase),也可留空

生成后会有两个文件:

  • 私钥:~/.ssh/id_rsa(不能泄露)
  • 公钥:~/.ssh/id_rsa.pub

二、把公钥上传到远程服务器

在 Linux 本地执行:

ssh-copy-id user@remote_host

示例:

ssh-copy-id root@192.168.1.100

如果 ssh-copy-id 不可用,可手动复制:

cat ~/.ssh/id_rsa.pub

把内容粘贴到服务器:

~/.ssh/authorized_keys

并确保权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

三、在 SecureCRT 中配置使用公钥

1. 打开 SecureCRT

  • File → Connect → New Session

2. 配置连接

  • Protocol:SSH2
  • Hostname:远程服务器 IP
  • Username:服务器用户名

3. 配置公钥认证

进入:

Session Options → Connection → SSH2 → Authentication

勾选:

  • ✅ PublicKey

然后点击 Properties(或“属性”):

如果使用本地生成的密钥

选择:

  • Use session public key
  • 浏览并选择私钥文件:
    ~/.ssh/id_rsa
    或
    ~/.ssh/id_ed25519
    

注意:SecureCRT 支持 OpenSSH 格式私钥(新版),旧版可能需要转换格式。

如果 SecureCRT 生成密钥

也可以:

  • 点击 Create Identity File
  • 按向导生成密钥
  • 把生成的 .pub 公钥内容放到服务器 authorized_keys

四、关闭密码登录(可选,提高安全性)

在服务器上编辑:

sudo vi /etc/ssh/sshd_config

修改:

PasswordAuthentication no
PubkeyAuthentication yes

重启 SSH:

sudo systemctl restart sshd

五、常见问题

1. 登录仍提示密码

检查:

  • 服务器 ~/.ssh 权限
  • authorized_keys 内容是否完整
  • SecureCRT 是否真的用了 PublicKey

2. SecureCRT 不识别私钥

可转换格式:

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

如果你愿意,可以告诉我:

  • 你用的是 SecureCRT 哪个版本
  • 服务器是 CentOS / Ubuntu / Rocky 等
  • 是 Windows 上的 SecureCRT 连 Linux,还是 Linux 上用 SecureCRT

我可以给你更精确的步骤。

0 踩