Ubuntu生成SSH私钥+连接CSDN GPU服务器(解决Permission denied问题)

本文针对 Ubuntu 系统,全程实操演示:生成 SSH 密钥、配置 SSH 连接(指定端口+X11图形转发)、连接 CSDN GPU 服务器,彻底解决 SSH 连接时 Permission denied (publickey) 报错,步骤清晰可直接复制命令,新手也能快速上手。

一、前置说明(必看)

本文适配场景:

  • 本地系统:Ubuntu(任意版本,本文以 Ubuntu 22.04 为例)

  • 目标服务器:CSDN GPU 服务器(地址:gpu-0gek9.ssh.gpu.csdn.net

  • 服务器端口:319

  • 服务器用户名:root

  • 核心需求:密钥免密登录 + X11 图形转发(后续可打开服务器图形界面)

关键提示:SSH 对密钥和配置文件的权限要求极严格,全程按步骤执行,不要随意修改命令。

二、第一步:生成SSH密钥(本地操作)

本地 Ubuntu 终端执行命令,生成私钥和公钥(私钥存本地,公钥传服务器,实现免密登录)。

1. 生成密钥

终端输入以下命令,全程回车,不要输入任何内容(默认生成路径、不设置密码,简化操作):

bash 复制代码
ssh-keygen

执行完成后,终端会提示密钥生成成功,默认生成路径为:

  • 私钥(本地保存,不可泄露):~/.ssh/id_rsa

  • 公钥(需上传到服务器):~/.ssh/id_rsa.pub

2. 验证密钥是否生成成功

执行以下命令,查看 .ssh 目录下的文件:

bash 复制代码
ls ~/.ssh/

若输出 config id_rsa id_rsa.pub known_hosts,说明密钥生成成功(缺少 id_rsa 和 id_rsa.pub 则重新执行第一步)。

三、第二步:配置SSH连接(本地操作)

配置 SSH 配置文件,实现"一键连接",无需每次输入服务器地址、端口和用户名,同时开启 X11 图形转发。

1. 编辑SSH配置文件

终端输入命令,打开配置文件(使用 nano 编辑器,简单易操作):

bash 复制代码
nano ~/.ssh/config

2. 写入正确配置(直接复制替换)

清空配置文件原有内容,复制以下内容粘贴(适配 CSDN GPU 服务器,无需修改,直接用):

Host csdn-gpu

HostName gpu-0gek9.ssh.gpu.csdn.net

User root

Port 319

IdentityFile ~/.ssh/id_rsa

ForwardX11 yes

ForwardX11Trusted yes

3. 保存并退出配置文件

按以下步骤操作:

  1. Ctrl + O(大写O),然后回车,保存文件;

  2. Ctrl + X,退出 nano 编辑器。

4. 修复配置和密钥权限(关键!解决Permission denied)

SSH 要求 .ssh 目录、私钥、配置文件的权限必须严格,否则会直接拒绝连接,执行以下3条命令,一键修复:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/id_rsa

chmod 600 ~/.ssh/config

三、第三步:上传公钥到CSDN GPU服务器

将本地生成的公钥(id_rsa.pub)上传到服务器,实现免密登录,这一步需要输入一次服务器密码(后续无需再输)。

bash 复制代码
ssh-copy-id -p 319 root@gpu-0gek9.ssh.gpu.csdn.net

执行命令后,终端会提示 Password:,输入你的 CSDN GPU 服务器 root 密码,回车即可(密码输入时不显示,正常输入即可)。

提示 Number of key(s) added: 1,说明公钥上传成功。

四、第四步:一键连接服务器

所有配置完成后,无需输入复杂命令,终端直接输入以下命令,即可一键连接 CSDN GPU 服务器:

ssh csdn-gpu

若终端提示 root@gpu-0gek9:~#,说明连接成功!且后续连接无需再输密码。

五、常见问题排查(避坑必看)

1. 报错:Permission denied (publickey)

大概率是以下2个原因,按顺序排查:

  • 原因1:密钥权限错误 → 重新执行第二步第4点的3条权限修复命令;

  • 原因2:公钥未上传成功 → 重新执行第三步的 ssh-copy-id命令,确保输入正确密码。

2. 报错:No such file or directory(id_rsa)

原因:未生成密钥 → 重新执行第一步的 ssh-keygen 命令,确保全程回车。

3. X11 图形转发无法使用

确认配置文件中已添加以下两行(本文配置已包含),无需额外操作:

ForwardX11 yes

ForwardX11Trusted yes

测试方法:连接服务器后,执行 xclock,若弹出时钟窗口,说明 X11 转发正常。

六、总结

全程核心步骤:生成密钥 → 配置 SSH → 修复权限 → 上传公钥 → 一键连接,所有命令均可直接复制,解决了新手最常遇到的 Permission denied (publickey) 报错,同时配置了 X11 图形转发,满足后续图形界面操作需求。

适用于所有 CSDN GPU 服务器(只需替换服务器地址、端口和用户名即可复用),收藏本文,后续连接服务器直接对照操作即可。

相关推荐
OYangxf25 分钟前
对TinyRedis中主从复制的理解
运维·服务器
銳昊城29 分钟前
项目六: 配置与管理DNS服务器(2) C2
运维·服务器
恋奴娇1 小时前
ubuntu 25 突破pipewire 不能以root帐号运行 系统没有声音输入输出设备
linux·运维·ubuntu
MuYan~1 小时前
开发环境内网MySQL连接操作文档
运维·服务器
Bert.Cai1 小时前
Linux dirname命令详解
linux·运维·服务器
程序 代码狂人1 小时前
Linux查询自己环境的一些基础命令
linux·运维·服务器
aerror2 小时前
如何使用ubuntu搭建一个无盘PC启动服务器
linux·服务器·ubuntu
AC赳赳老秦3 小时前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
wangjialelele3 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式
|_⊙3 小时前
Linux 深入理解文件(Ext2文件系统:下)
linux·服务器·数据库