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

相关推荐
海蓝可知天湛1 小时前
Agent&IELTS雅思口语专属语料库
人工智能·github·rag·ielts·skills
189228048612 小时前
NY352固态MT29F32T08GWLBHD6-24QJ:B
大数据·服务器·人工智能·科技·缓存
AI视觉网奇2 小时前
linux 检索库 判断库是否支持
java·linux·服务器
ServBay2 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
Yunzenn2 小时前
字节最新研究cola-DLM第 01 章:语言生成的三次范式之争 —— 从 RNN 到 AR 到扩散
架构·github
wangruofeng3 小时前
GitHub AI 月榜解读:8 大趋势告诉你该关注什么
github·ai编程
一楼的猫3 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
武子康3 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
xhbh6664 小时前
代理ARP (Proxy ARP) 是如何实现跨网段通信的?在Linux下如何配置?
服务器·网络·智能路由器·端口映射·映射
神奇椰子5 小时前
[特殊字符] 服务器搭建网站完整教程
运维·服务器