windows11 vscode ssh远程linux服务器/虚拟机 免密登录

1. Windows 生成 ED25519 密钥

windows终端执行,一路回车即可

bash 复制代码
ssh-keygen -t ed25519

C:\Users\xxx\.ssh中会生成公钥和私钥

id_ed25519:私钥

id_ed25519.pub:公钥

2. 上传公钥到linux服务器

linux服务器执行

新建.ssh文件夹

bash 复制代码
mkdir -p ~/.ssh

复制id_ed25519.pub内所有内容

bash 复制代码
echo "ssh-ed25519 AAAAB3Nza... ASUS@PC" >> ~/.ssh/authorized_keys

"ssh-ed25519 AAAAB3Nza... ASUS@PC"引号内的内容替换为你复制的id_ed25519.pub内的所有内容

3. 设置linux服务器文件权限

linux服务器执行

.ssh目录仅允许当前用户访问

复制代码
chmod 700 ~/.ssh

authorized_keys文件仅允许当前用户读写

复制代码
chmod 600 ~/.ssh/authorized_keys

检查home/xxx目录权限

bash 复制代码
ls -ld /home/xxx

返回

drwxr-xr-x 48 xxx xxx 4096 10月 27 16:39 /home/xxx

若权限不为drwxr-xr-x(755),会触发 SSH 的安全防护机制,导致公钥认证被直接拒绝。

修改权限

bash 复制代码
chmod 755 /home/xxx

重启SSH服务

bash 复制代码
sudo systemctl restart sshd

windows端连接linux服务器测试

bash 复制代码
ssh xxx@xxx.xxx.xxx.xxx

无需登录密码

后续vscode SSH也同样为免密码连接

其他机器原理相同,复制公钥到家目录的.ssh目录下的authorized_keys中,即可实现免密码SSH连接

相关推荐
Web3探索者1 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒6 天前
TShark:Wireshark CLI 功能
linux
A小辣椒7 天前
TShark:基础知识
linux
AlfredZhao7 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao7 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi