SecureCRT配置SSH密钥认证步骤
打开SecureCRT,点击菜单栏Tools(工具)→ Key Generation…(生成密钥对)。在弹出的对话框中:
Identity,需严格保密,建议存储在安全位置);Identity.pub,需上传至服务器)。将生成的Identity.pub文件上传至远程服务器的~/.ssh/目录(若目录不存在,需先创建):
scp命令(安全复制):scp ~/.ssh/Identity.pub username@remote_host:~/.ssh/(替换username为服务器用户名,remote_host为服务器IP或域名);上传后,在服务器上执行以下命令设置权限和合并公钥:
cd ~/.ssh # 进入.ssh目录
chmod 700 . # 设置目录权限为700(仅所有者可读、写、执行)
cat Identity.pub >> authorized_keys # 将公钥内容追加至authorized_keys文件(若文件不存在则创建)
chmod 600 authorized_keys # 设置authorized_keys文件权限为600(仅所有者可读、写)
注:authorized_keys文件存储了所有允许通过密钥认证登录的公钥,需确保其权限正确,否则可能导致认证失败。
编辑服务器的SSH配置文件/etc/ssh/sshd_config(需管理员权限):
sudo vim /etc/ssh/sshd_config # 使用vim编辑器(或其他如nano)
找到并修改以下配置项(取消注释并设置为指定值):
PubkeyAuthentication yes # 启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 指定authorized_keys文件路径
RSAAuthentication yes # 启用RSA密钥认证(若使用RSA密钥)
PasswordAuthentication no # 禁用密码认证(可选,增强安全性,需确保公钥认证正常)
保存并退出编辑器(vim中按:wq),然后重启SSH服务使配置生效:
sudo systemctl restart sshd # 大多数Linux系统(如Ubuntu、CentOS 7+)
# 或 sudo service ssh restart # 旧版系统(如CentOS 6)
打开SecureCRT,File(文件)→ New Session…(新建会话),输入远程服务器的IP地址、端口号(默认22)和用户名。在**Session Options(会话选项)**中:
Identity,若之前转换过格式则为id_rsa);点击OK保存会话配置。双击该会话即可尝试连接,若一切配置正确,SecureCRT将通过私钥认证登录服务器,无需输入密码。
Identity或id_rsa)的权限必须设置为600(仅所有者可读、写),否则SecureCRT会拒绝使用该私钥;~/.ssh目录权限必须为700,authorized_keys文件权限必须为600,否则会导致公钥认证失败;