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 分钟前
Linux 进程与进程状态・三层级深度解析
linux·运维·服务器
不会就选b35 分钟前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头10640 分钟前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器
码农学院1 小时前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
步步精BBJconn1 小时前
从GPU服务器到数据中心:AI服务器高压连接器的应用与发展趋势
大数据·运维·服务器·人工智能·科技·物联网
爱写代码的森9 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
wangruofeng10 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
一点一木12 小时前
从60首歌到1个网站:输入你的故事,还你一首歌
前端·github
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
白露与泡影14 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#