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

相关推荐
Lovyk20 分钟前
完整实验命令解析:从集群搭建到负载均衡配置
linux·运维·服务器
qq_3411604425 分钟前
文件系统挂载详细分析(《图解Linux内核》虚拟文件系统篇笔记二)
linux·服务器·笔记
熬夜苦读学习1 小时前
Reactor 反应堆模式
运维·服务器·网络·网络协议·http·智能路由器·php
Boxsc_midnight2 小时前
【适合中小企业应用的Flask网站部署指南】【小白指南系列】如何在Windows Server服务器上部署Flask网站和SSL证书开启HTTPS
服务器·windows·python·flask
嘀咕博客2 小时前
GitHub Copilot - GitHub 推出的AI编程助手
github·copilot·ai编程·ai工具
我一定会有钱11 小时前
Linux爆音问题解决方法(隔一会会有奇怪噪音)
linux·运维·服务器
l_tian_tian_14 小时前
SpringClound——网关、服务保护和分布式事务
linux·服务器·前端
zcz160712782114 小时前
服务器与客户端
运维·服务器
门思科技14 小时前
LoRaWAN 的网络拓扑全解析:架构、原理与应用实践
服务器·网络·人工智能·科技·物联网·架构
我的收藏手册14 小时前
Linux 网络命令大全
linux·服务器·网络