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 服务器(只需替换服务器地址、端口和用户名即可复用),收藏本文,后续连接服务器直接对照操作即可。

相关推荐
tedcloud1234 分钟前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源
Hrain-AI23 分钟前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
保卫大狮兄27 分钟前
设备利用率低,到底是设备问题还是排产问题?
大数据·运维·服务器
jzwalliser1 小时前
Ubuntu的美化:深度定制指南
ubuntu·gnome·美化
独行侠影a1 小时前
6G研发加速:太赫兹通信与智能超表面如何重塑未来网络?
运维·服务器
便利店10241 小时前
企业远程办公如何打通内网?网络层隧道与封装直觉
运维·服务器·网络·vpn·隧道
梦想的颜色3 小时前
UniApp 请求层终极封装:统一拦截、错误处理、多端兼容,结合 Claude Code 高效落地
服务器·uniapp·uni.request·codex·claudecode·ai 辅助开发·uniapp 请求封装
LuDvei4 小时前
怎么把数据上传到云端
运维·服务器
奇特認4 小时前
数据库MySQL 1.安装环境部署
linux·运维·服务器
小小龙学IT5 小时前
Day 26-27 项目实战:从零构建一个高并发聊天室(epoll + 线程池)
linux·服务器·c语言·开发语言·网络