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

相关推荐
Snasph15 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
广州灵眸科技有限公司15 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
Esaka_Forever16 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
溜达的大象16 小时前
服务器挂了等用户报障?我用Prometheus搭了一套监控告警,服务器出状况第一时间通知我
服务器·php·prometheus
闪电悠米18 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
tudoSearcher19 小时前
日志、指标、链路追踪:可观测性三支柱深度解析
运维·服务器·网络·prometheus
xier_ran19 小时前
【infra之路】Linux基础命令与系统排查
linux·运维·服务器
c2385619 小时前
linux基础2
linux·运维·服务器
土星云SaturnCloud20 小时前
从云端到边缘:基于土星云SE110S的智能视频分析轻量化部署方案(上)
服务器·人工智能·ai·边缘计算
爱就是恒久忍耐21 小时前
老Ubuntu安装podman 5.x版本
linux·ubuntu·podman