SSH 免密登录 VSCode(附 Debug 排查)

关键词:VSCode SSH、SSH 无法免密登录、SSH 免密登录失败

1. sshd 配置文件检查

确保 /etc/ssh/sshd_config 中公钥登录已开启:

1
PubkeyAuthentication yes

2. 生成公钥并上传到服务器

2.1 命令行方式(推荐)

1
2
3
ssh-copy-id 用户名@ip地址
# 例如
ssh-copy-id [email protected]

2.2 手动方式

找到本地的 ~/.ssh/id_rsa.pub,将其内容复制到服务器的 ~/.ssh/authorized_keys

确保是普通用户新建 ~/.ssh/authorized_keys(不要用 root):

1
2
mkdir ~/.ssh
touch ~/.ssh/authorized_keys

复制也好、上传文件也罢,只要将本地 id_rsa.pub 的内容写入服务器 authorized_keys 即可。

3. Debug:免密登录失败排查

主要根据 sshd 输出信息定位问题。

调整日志级别

服务器端 /etc/ssh/sshd_config

1
LogLevel DEBUG

服务端查看日志

1
sudo tail -f -n 500 /var/log/auth.log | grep sshd

客户端调试模式

1
ssh -vvv 192.168.0.1

常见错误

当出现 authorized_keys': Permission denied 时,通常有两种原因:

1
2
3
4
5
sshd[28422]: debug1: Could not open authorized keys '/home/mi/.ssh/authorized_keys': Permission denied
sshd[28422]: debug1: restore_uid: 0/0
sshd[28422]: debug1: temporarily_use_uid: 1000/1000 (e=0/0)
sshd[28422]: debug1: trying public key file /home/mi/.ssh/authorized_keys2
sshd[28422]: debug1: Could not open authorized keys '/home/mi/.ssh/authorized_keys2': Permission denied

3.1 权限不对

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

3.2 用 root 新建了 .ssh 或 authorized_keys

请删除 .sshauthorized_keys,确保是普通用户重新创建。