vscode、cursor无密码ssh远程连接服务器(配置密钥)

要让服务器支持使用密钥登录,你需要在服务器上启用 SSH 密钥认证,并在客户端配置相应的私钥。以下是详细步骤:

1. 在服务器上生成 SSH 密钥对(如果尚未生成)

如果你还没有为服务器生成 SSH 密钥对,可以使用以下命令生成:

bash 复制代码
sudo ssh-keygen

按照提示操作,你可以选择将密钥保存在默认位置(通常是 ~/.ssh/id_rsa)并设置一个密码(可选)。

2. 将公钥复制到服务器的 ~/.ssh/authorized_keys 文件

bash 复制代码
cat ~/.ssh/id_rsa.pub | ssh root@ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

3. 确保服务器的 SSH 配置允许密钥认证

编辑服务器上的 SSH 配置文件 /etc/ssh/sshd_config,确保以下设置:

plaintext 复制代码
PubkeyAuthentication yes
PasswordAuthentication yes
PermitRootLogin yes
  • PubkeyAuthentication yes:启用公钥认证。
  • PasswordAuthentication yes:保留密码认证作为备用(可选)。
  • PermitRootLogin yes:允许 root 用户登录(如果需要)。

4. 重启 SSH 服务

保存 /etc/ssh/sshd_config 文件后,重启 SSH 服务以应用更改:

bash 复制代码
sudo systemctl restart sshd
sudo service ssh restart #容器场景

5. 在客户端配置 SSH 密钥

在客户端,确保你有对应的私钥文件(通常是 ~/.ssh/id_rsa)。如果私钥文件有密码,你可能需要在每次使用时输入密码。

6. 使用密钥连接到服务器

在客户端,使用以下命令连接到服务器:

bash 复制代码
ssh -i ~/.ssh/id_rsa -p 22 root@ip
  • -i ~/.ssh/id_rsa:指定私钥文件的路径。
  • -p 22:指定端口号为 22
  • root@ip:连接到服务器的 IP 地址。

如果你使用的是 ~/.ssh/config 文件,可以添加以下配置:

plaintext 复制代码
Host 36.103.199.000
  HostName 36.103.199.000
  User root
  Port 22
  IdentityFile ~/.ssh/id_rsa
  ForwardAgent yes

这样,你可以直接使用 ssh 36.103.199.000 连接到服务器,而无需每次都指定私钥文件和端口号。

7. 测试连接

尝试连接到服务器,验证是否可以成功使用密钥登录:

bash 复制代码
ssh 36.103.199.000

或在vscode、cursor

相关推荐
cuijiecheng20182 小时前
Linux下Beyond Compare过期
linux·运维·服务器
期待のcode2 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务3 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
草梅友仁3 小时前
墨梅博客 1.0.0 发布与更新 | 2026 年第 2 周草梅周报
github·ai编程·nuxt.js
周末程序猿5 小时前
杂谈|2025年总结
github
Controller-Inversion5 小时前
cdn协议
计算机网络·github
松涛和鸣5 小时前
49、智能电源箱项目技术栈解析
服务器·c语言·开发语言·http·html·php
凉、介6 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
RisunJan6 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器