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

相关推荐
Zzz 小生11 小时前
Github-Cursor Free VIP:解锁AI编程工具的高级功能
github·ai编程
❀͜͡傀儡师12 小时前
Docker一键部署Nexus Terminal,高颜值SSH新体验
docker·容器·ssh
UVM_ERROR12 小时前
硬件设计实战:解决Valid单拍采样失效问题(附非阻塞赋值与时序对齐核心要点)
驱动开发·fpga开发·github·芯片
散峰而望12 小时前
C++数组(三)(算法竞赛)
开发语言·c++·算法·github
Protein_zmm12 小时前
第一章 计算机网络和因特网(下)
服务器·计算机网络·php
dyxal12 小时前
非对称加密:彻底解决密钥分发难题的数字安全革命
服务器·网络·安全
逻辑棱镜13 小时前
Git 分支管理与提交信息规范 (v1.0)
git·github·团队开发·代码规范·敏捷流程
q***99414 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
RisunJan14 小时前
Linux命令-exportfs命令(管理NFS服务器上共享文件系统)
linux·运维·服务器
动感小麦兜14 小时前
服务器搭建
linux·服务器·python