SSH:Fedora客户端如何连接Fedora服务器
SSH 是什么?
SSH (Secure Shell) 是一套网络通信协议,用于在不安全的网络上安全地进行远程登录和数据传输。它不是指某一个特定的软件,而是一套标准和一系列实现该标准的软件。
为什么它不属于 GNU?
- 起源与标准: SSH 协议最初由芬兰研究员 Tatu Ylönen 于 1995 年设计。它是一个行业标准,而不是由 GNU 基金会开发或维护的组件。
- 最主流的实现:OpenSSH。 目前绝大多数服务器(包括 Linux 服务器)上使用的 SSH 软件是 OpenSSH,它由 OpenBSD 项目组开发和维护,并非 GNU 项目。
- GNU 的实现: GNU 项目确实有一个名为 Lsh 的 SSH-2 协议实现,但它并不是目前服务器上的主流选择。由于 OpenSSH 在稳定性、兼容性和安全性方面的统治地位,几乎所有的 GNU/Linux 发行版默认安装的都是 OpenSSH,而非 Lsh。
在 Fedora 系统之间进行连接,最标准、最强大的方式是通过 SSH (Secure Shell)。既然两端都是 Fedora,配置过程会非常丝滑。
以下是分步骤的操作指南:
第一步:在“服务器端”进行配置
首先,你需要确保作为服务器的那台 Fedora 已经准好接收连接。
- 安装并启动 SSH 服务:
打开终端,输入以下命令:
sudo dnf install openssh-server -y
sudo systemctl enable --now sshd

- 配置防火墙:
Fedora 默认开启防火墙,你需要允许 SSH 流量通过:
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

- 获取服务器 IP 地址:
输入以下命令查看 IP(通常是 enp... 或 wlo... 网卡下的 inet 地址):
ip addr
服务器IP地址:

注意关于用户名:寻找标有 “远程连接”、“VNC”、“控制台” 或 “Connect” 字样的按钮, 然后会出现一个终端, 输入whoami, 输出就是用户名了(第二步)。我这里是VNP

第二步:在“客户端”进行连接
在你用来操作的那台 Fedora 上,直接使用终端连接。
- 标准连接命令:
ssh 用户名@服务器IP地址

例如:ssh root@152.168.1.50(不要泄漏,此处为处理过的地址,大概就这样), 然后按下enter键,输入密码就行。
- 首次连接确认:
系统会提示你是否信任该主机,输入 yes 并回车,然后输入服务器的登录密码即可。
rock@192:~$ssh root@152.168.1.50
root@152.168.1.50's password: (此处输入密码)
Last failed login: Fri Apr 3 18:35:18 UTC 2026 from 1xx.xx.xxx.xxx on ssh:notty
There were 5 failed login attempts since the last successful login.
Last login: Fri Apr 3 18:26:01 2026
[root@usxxxxxx ~]# exit
logout
Connection to 152.168.1.50 closed.
看见since the last successful login.我本地的rock@192账户登陆成功服务端的root@usxxxxxx账户了。

然后按exit退出登录。
进阶:更换连接密码
如果我们重装了重装服务器后,服务器的 SSH 主机密钥(Host Key) 已经发生了变化,但你本地电脑记录的旧密钥仍然保存在 known_hosts 文件中。SSH 为了防止中间人攻击(MITM),会因为本地记录的旧指纹与服务器的新指纹不匹配而拒绝连接。这时候我们需要从本地电脑的 known_hosts 文件中删除旧的记录。方法一:使用 ssh-keygen 命令(推荐,简单快捷)
在你的本地终端(Terminal 或 PowerShell)中执行以下命令,它会自动帮你删除对应 IP 的冲突记录:ssh-keygen -R 152.168.1.50执行完该命令后,再次尝试连接:
ssh root@152.168.1.50此时系统会提示你服务器的密钥已更改,询问你是否确认连接,输入 yes 即可,接着就会弹出密码输入提示。
方法二:手动编辑 known_hosts 文件
如果你习惯手动操作,可以按照以下路径找到文件并删除:
- 文件路径:通常在你的用户主目录下的 .ssh/known_hosts 文件中。
- macOS / Linux: ~/.ssh/known_hosts
- Windows: C:\Users\你的用户名.ssh\known_hosts
- 操作步骤:
- 使用文本编辑器(如 Notepad++, VS Code, 或 vim)打开该文件。
- 找到包含 152.168.1.50 的那一行。
- 将整行内容删除并保存。
- 重新连接 SSH。
第三步:进阶配置(可选但强烈建议)
- 免密登录 (SSH Key)
为了安全且方便(不用每次输密码),建议使用密钥对:
- 生成密钥(在客户端执行):ssh-keygen -t ed25519(一路回车即可)。
- 发送密钥到服务器:ssh-copy-id 用户名@服务器IP。
- 之后再连接就不需要密码了。
当你执行完毕后,你的电脑里会多出两个文件(通常在 ~/.ssh/ 目录下):
私钥 (id_ed25519):这是你的“门钥匙”。千万不要发给任何人,它必须妥善保存在你自己的电脑里。
公钥 (id_ed25519.pub):这是“锁孔”。你可以把它发给任何你想访问的服务器。
rock@192:~$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/rock/.ssh/id_ed25519):
Enter passphrase for "/home/rock/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rock/.ssh/id_ed25519
Your public key has been saved in /home/rock/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:7xxxxxxVbxx xfdsxxCM rock@1xx.xxx.x.xxx
The key's randomart image is:
+--[ED25519 256]--+
| |
| . |
| +E.+ |
| . + o..*.|
| . o B.o = =++ |
| . o.o.. +o=. |
| .ooo.o. |
+----[SHA256]-----+
rock@192:~$ ssh-copy-id root@152.168.1.50
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/rock/.ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@152.168.1.50's password: (服务器端密码)
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@152.168.1.50'"
and check to make sure that only the key(s) you wanted were added.
进阶:更换密钥
在使用 ssh-copy-id 时,如果你之前已经重装过服务器,由于同样的原因(主机密钥变更),你也会遇到类似的错误提示(例如 REMOTE HOST IDENTIFICATION HAS CHANGED)。
- 先清理旧的密钥记录
由于 ssh-copy-id 依赖于底层的 SSH 连接,它依然会受到 known_hosts 冲突的影响。请先执行:ssh-keygen -R 152.168.1.50
- 再执行拷贝命令
清理之后,再次运行你的拷贝命令:ssh-copy-id root@152.168.1.50
- 按照提示操作
- 第一次连接时:因为记录已被删除,系统会提示你:The authenticity of host '152.168.1.50' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?
- 输入 yes:这将把新的主机密钥添加到你的本地 known_hosts 中。
- 输入密码:系统会提示你输入 root 用户的密码,输入正确后,你的公钥就会被成功安装到服务器的 ~/.ssh/authorized_keys 文件中。
下一次直接无密码登陆
rock@192:~$ ssh root@152.168.1.50
Last failed login: Fri Apr 3 19:02:01 UTC 2026 from 123.61.154.26 on ssh:notty
There were 21 failed login attempts since the last successful login.
Last login: Fri Apr 3 18:36:50 2026 from 45.55.145.344
[root@usxxxxxxxx ~]# exit
logout
Connection to 152.168.1.50 closed.
为了保证 SSH 既能正常工作,又能最大程度保护你的私钥,请按照以下标准设置权限:
对目录 .ssh 的权限:700
chmod 700 ~/.ssh
对私钥文件 id_ed25519 的权限:600
chmod 600 ~/.ssh/id_ed25519
- 传输文件
由于两端都是 Fedora,你可以直接在文件管理器(Dolphin)里操作:
- 寻找“Dolphin” (KDE 的文件管理器):按 Super 键,输入 Dolphin,点击蓝色文件夹图标
- 按下键盘上的 Super 键(也就是键盘左下角那个带有图标的键)。
- 直接打字输入:Dolphin。
- 点击出现的那个蓝色文件夹图标。
- 在底部的连接框输入:sftp://服务器IP。
- 这样你就可以像操作本地文件夹一样拖拽文件了。


连上之后就可以看到服务器上的文件了, 如下:

问题:如果报
No host specified, 就直接使用不带用户名前缀的sftp://152.168.1.50(自己的真实服务器IP)连接:
会出现用户和密码, 见第一步3获取服务器 IP 地址:
- 远程桌面 (GUI)
如果你需要看到服务器的图形界面,Fedora 系统自带了远程桌面功能:
- 在服务器上:进入“设置” -> “共享” -> “远程桌面”,开启开关。
- 在客户端上:搜索并打开 “连接” (Connections) 应用(Fedora 预装),输入服务器地址即可连接。
融合怪测评脚本
融合怪测评脚本, 用来测试服务器质量如何。

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh
安装 1Panel (可选)
在 Fedora 服务器上安装 1Panel 面板非常简单,官方已经提供了针对各类 Linux 发行版的一键安装脚本。
由于 Fedora 默认使用 dnf 作为包管理器,安装过程会自动处理相关的依赖。
- 安装命令
在终端中以 root 用户身份执行以下命令:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
- 安装过程中的交互
执行脚本后,你需要根据提示完成以下设置:
- 设置安装目录:直接按回车(默认 /opt)即可。
- 设置面板端口:默认是 8089,如果被占用可以更改。
- 设置安全入口:面板登录的后缀,增加安全性(比如1panel)。
- 设置管理员用户名和密码。

- 配置防火墙 (Fedora 必须步骤)
Fedora 服务器找都安全组-->新建安全组。 然后选择创建组的新增策略: 规则方向:入, 协议:tcp, 端口范围:(1panel设置了啥就填写啥,比如8089), 授权IP:0.0.0.0/0是所有人都能访问, 如果只允许单个,比如你的ip是192.168.1.100,就写这个 。为了能正常从浏览器访问面板,你需要开放刚才设置的端口(假设使用的是默认的 8089):
- 常见问题排查
- 手动安装1panel
- 权限问题:请确保你使用的是 root 账号,或者在命令前加上 sudo。
- Docker 依赖:1Panel 是基于 Docker 运行的。如果你的 Fedora 还没有安装 Docker,脚本通常会尝试自动安装。如果自动安装失败,建议先手动安装 Docker:
sudo dnf install -y docker
sudo systemctl start docker
sudo systemctl enable docker
- SELinux:Fedora 默认开启 SELinux,有时会拦截容器挂载。如果发现安装后面板无法启动,可以尝试临时关闭 SELinux 测试:sudo setenforce 0。
- 管理命令
安装完成后,你可以通过 1pctl 工具来管理面板:
- 查看状态:1pctl status
- 重置密码:1pctl reset password
- 查看登录信息:1pctl user-info
安装成功后,点击外部地址,会在浏览器上打开。

输入面板用户和密码就可以登陆了。

进入1panel面板,就能可视化看见我们的服务器了。




浙公网安备 33010602011771号