# 从零配置一台VPS：图形化配置安全的SSH密钥登录

**URL:** <https://idcflare.com/t/topic/16573>\
**Category:** 教程\
**Tags:** 原创, 服务器\
**Created:** [2025 年9 月 25 日 16:45 UTC](https://idcflare.com/t/topic/16573 "2025-09-25T16:45:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![MatsuzakaSato](https://idcflare.com/user_avatar/idcflare.com/matsuzakasato/32/19828_2.png) [@MatsuzakaSato](https://idcflare.com/u/MatsuzakaSato)\
**Post date:** [2025 年9 月 25 日 16:45 UTC](https://idcflare.com/t/topic/16573/1 "2025-09-25T16:45:51Z")

</div>

> [!note]  
> 本教程适用于对命令行操作不熟悉的用户，旨在尽可能以图形化操作替代命令行，并达到同等安全的效果。

## 配置和开机

选择配置（最重要的是系统，我这里选择Debian12）

 ![image](https://idcflare.com/uploads/default/original/2X/a/a46983884a99f4fe88b8e6294a6833f9757e9645.png)

等待服务器开机

 ![image](https://idcflare.com/uploads/default/original/2X/c/c06f3da64a8c65ee047d3f656a4fe4aedea682b6.png)

## 首次登录

Cloudcone会把SSH密码发送到个人邮箱

 ![image](https://idcflare.com/uploads/default/original/2X/9/9aaeecd783acc0f3688e46a244f00521a3622cec.png)  
 ![image](https://idcflare.com/uploads/default/original/2X/7/772e5fa4878a9e10c43dceb79e602555c3766e94.png)

先打开Windows Terminal（或者Powershell或者Linux终端都可以）

 ![image](https://idcflare.com/uploads/default/original/2X/d/defea755abbe491dd3566d72128985c6b4b6c1ba.png)  
输入命令 `ssh root@xxx.xxx.xxx.xxx`  
输入`yes`接受服务器指纹  
输入邮箱里收到的root用户密码

当看到命令行开头是`root@Hostname:~#`之后，说明你连接上了远程服务器。

## 安装面板

我这里选择安装1panel v1 lts

```auto
curl -sSL https://resource.1panel.pro/quick_start.sh -o quick_start.sh && bash quick_start.sh

```

 ![image](https://idcflare.com/uploads/default/original/2X/5/540d984213fa596b6f3ecc47608c7ebffb5216d5.png)

选择中文（2）-默认安装目录-等待安装  
可能需要一段时间

 ![image](https://idcflare.com/uploads/default/original/2X/4/4004c325c26003fbc7ad64ce756d3633e9dc507e.png)  
安装完Docker和Docker-compose之后，按照提示进行其他配置  
 ![image](https://idcflare.com/uploads/default/original/2X/8/8e38d83eeafc7632ae9bc856dbdc3c16119e81ca.png)  
登入面板  
找到系统-SSH管理-密钥认证，将其打开  
 ![image](https://idcflare.com/uploads/default/original/2X/f/f1d57528ed01b7453e66396c884c65569cb1bfc1.png)

## SSH密钥连接

我这里使用的是XShell。  
填写主机IP和端口号（一般都是22，不需要改）

 ![image](https://idcflare.com/uploads/default/original/2X/9/9865dede1036194ba860f083ab262e281b17e365.png)  
点击用户身份验证，按照下图配置好（用户名填写root，密码留空，取消勾选Password，勾选Public Key），并点击“设置”  
 ![image](https://idcflare.com/uploads/default/original/2X/f/f47a35ffd32a4bde5f33fd40268e4ea00d48c2c0.png)  
 ![image](https://idcflare.com/uploads/default/original/2X/1/11c92f5b7c75c06df2153a12c81ac78a1b61f1e4.png)  
如果没有密钥，就点击生成（我这里已经有一个了，无视即可）  
 ![image](https://idcflare.com/uploads/default/original/2X/5/5774ef450269b89521a301c50abcd9e34e54ad50.png)  
密钥类型选择ED25519  
 ![image](https://idcflare.com/uploads/default/original/2X/8/82f9dbd45558211d60bb01b66a60f4aa05a365a6.png)  
生成完毕后继续下一步，密钥密码可写可不写。如果设置了，请务必记牢。  
 ![image](https://idcflare.com/uploads/default/original/2X/0/0b6182e1d08e6d0b3b373e8e7053a0953d22f917.png)  
这里看到刚才新建的密钥。  
 ![image](https://idcflare.com/uploads/default/original/2X/3/37bd8b38a34dcc9c5df95d0e393052c7e95c7ddb.png)  
点击属性-公钥-格式选择 SSH2-OpenSSH，复制下方全部文本  
 ![image](https://idcflare.com/uploads/default/original/2X/c/cc14543a76a6c603fff04b5afc65e5d8e7d1a943.png)

回到1panel  
访问文件-`/root/.ssh`目录，找到文件`authorized_keys`（没有就新建文件）

 ![image](https://idcflare.com/uploads/default/original/2X/3/3034f522b52b4e92185322776cd4d31459340248.png)  
点开编辑，将刚才复制的公钥粘贴进来，点击确认保存。  
 ![image](https://idcflare.com/uploads/default/original/2X/4/413ab5c2737825ecd217cc1b2f005f59706a99ec.png)

再回到Xshell，选择你刚才创建的那个密钥

 ![image](https://idcflare.com/uploads/default/original/2X/8/8156bdc7e73c5a4220c832093b6354361db72c3c.png)  
点击连接。  
密钥指纹点击接受并保存  
 ![image](https://idcflare.com/uploads/default/original/2X/4/4742d54b90ce6b9b5fec7daf28e4273ba3287614.png)  
 ![image](https://idcflare.com/uploads/default/original/2X/2/2b79b42f42c02e6791ceb0a0737010840712f95d.png)  
最终这样就是顺利连接SSH了。

回到1panel，关闭SSH密码认证

 ![image](https://idcflare.com/uploads/default/original/2X/e/eacd884dd740654b4eafea6df6a0d698964b534b.png)

即完成SSH密钥登录配置

---

<div class="post-metadata">

**Author:** ![yqyan](https://idcflare.com/user_avatar/idcflare.com/yqyan/32/3375_2.png) [@yqyan](https://idcflare.com/u/yqyan)\
**Post date:** [2025 年9 月 25 日 20:04 UTC](https://idcflare.com/t/topic/16573/2 "2025-09-25T20:04:19Z")

</div>

感谢分享 🙏

---

<div class="post-metadata">

**Author:** ![12306](https://idcflare.com/user_avatar/idcflare.com/12306/32/5935_2.png) [@12306](https://idcflare.com/u/12306)\
**Post date:** [2025 年9 月 25 日 21:17 UTC](https://idcflare.com/t/topic/16573/3 "2025-09-25T21:17:27Z")

</div>

感谢分享

---

<div class="post-metadata">

**Author:** ![Mio](https://idcflare.com/user_avatar/idcflare.com/mio/32/1352_2.png) [@Mio](https://idcflare.com/u/Mio)\
**Post date:** [2025 年9 月 25 日 21:31 UTC](https://idcflare.com/t/topic/16573/4 "2025-09-25T21:31:24Z")

</div>

希望多来点小白教学贴

---

<div class="post-metadata">

**Author:** ![paypay](https://idcflare.com/user_avatar/idcflare.com/paypay/32/5414_2.png) [@paypay](https://idcflare.com/u/paypay)\
**Post date:** [2025 年9 月 25 日 23:19 UTC](https://idcflare.com/t/topic/16573/5 "2025-09-25T23:19:43Z")

</div>

感谢大佬科普

---

<div class="post-metadata">

**Author:** ![ketto](https://idcflare.com/user_avatar/idcflare.com/ketto/32/11517_2.png) [@ketto](https://idcflare.com/u/ketto)\
**Post date:** [2025 年9 月 25 日 23:29 UTC](https://idcflare.com/t/topic/16573/6 "2025-09-25T23:29:20Z")

</div>

感谢大佬的分享。

---

<div class="post-metadata">

**Author:** ![WTO](https://idcflare.com/user_avatar/idcflare.com/wto/32/3678_2.png) [@WTO](https://idcflare.com/u/WTO)\
**Post date:** [2025 年9 月 25 日 23:29 UTC](https://idcflare.com/t/topic/16573/7 "2025-09-25T23:29:58Z")

</div>

这个教程很不错，感谢佬友的分享。

---

<div class="post-metadata">

**Author:** ![Luis](https://idcflare.com/user_avatar/idcflare.com/luis/32/247_2.png) [@Luis](https://idcflare.com/u/Luis)\
**Post date:** [2025 年9 月 26 日 00:09 UTC](https://idcflare.com/t/topic/16573/8 "2025-09-26T00:09:42Z")

</div>

来看看，学习学习！

---

<div class="post-metadata">

**Author:** ![LuckyZ](https://idcflare.com/user_avatar/idcflare.com/luckyz/32/5280_2.png) [@LuckyZ](https://idcflare.com/u/LuckyZ)\
**Post date:** [2025 年9 月 26 日 00:34 UTC](https://idcflare.com/t/topic/16573/9 "2025-09-26T00:34:51Z")

</div>

> [!tip] 感谢大佬分享教程 😆

---

<div class="post-metadata">

**Author:** ![bai](https://idcflare.com/user_avatar/idcflare.com/bai/32/605_2.png) [@bai](https://idcflare.com/u/bai)\
**Post date:** [2025 年9 月 26 日 01:15 UTC](https://idcflare.com/t/topic/16573/10 "2025-09-26T01:15:23Z")

</div>

学习了，感谢佬分享

---

<div class="post-metadata">

**Author:** ![more](https://idcflare.com/user_avatar/idcflare.com/more/32/5016_2.png) [@more](https://idcflare.com/u/more)\
**Post date:** [2025 年9 月 26 日 01:25 UTC](https://idcflare.com/t/topic/16573/11 "2025-09-26T01:25:26Z")

</div>

感谢分享

---

<div class="post-metadata">

**Author:** ![notebook](https://idcflare.com/letter_avatar/notebook/32/6_22734026db12803ebb3e059622ac3534.png) [@notebook](https://idcflare.com/u/notebook)\
**Post date:** [2025 年9 月 26 日 01:34 UTC](https://idcflare.com/t/topic/16573/12 "2025-09-26T01:34:08Z")

</div>

感谢教程~

---

<div class="post-metadata">

**Author:** ![StriveMario](https://idcflare.com/user_avatar/idcflare.com/strivemario/32/355_2.png) [@StriveMario](https://idcflare.com/u/StriveMario)\
**Post date:** [2025 年9 月 26 日 01:46 UTC](https://idcflare.com/t/topic/16573/13 "2025-09-26T01:46:02Z")

</div>

干货收了

---

<div class="post-metadata">

**Author:** ![mass4ia](https://idcflare.com/user_avatar/idcflare.com/mass4ia/32/9408_2.png) [@mass4ia](https://idcflare.com/u/mass4ia)\
**Post date:** [2025 年9 月 26 日 01:51 UTC](https://idcflare.com/t/topic/16573/14 "2025-09-26T01:51:54Z")

</div>

> [@服务器两种较为安全的SSH登录方式（仅作演示](https://idcflare.com/t/topic/16610/11):
>
> ssh-copy-id 设置 只能证书登录  
> 改 22 端口到高端口  
> 设置 端口敲门 (Port Knocking)  
> 使用脚本敲门  
> 使用 mosh ssh udp 直连，延迟特别低  
> 设置防火墙
> 
> 就这几件事做完，ssh就基本上没问题了

个人经验

---

<div class="post-metadata">

**Author:** ![MatsuzakaSato](https://idcflare.com/user_avatar/idcflare.com/matsuzakasato/32/19828_2.png) [@MatsuzakaSato](https://idcflare.com/u/MatsuzakaSato)\
**Post date:** [2025 年9 月 26 日 02:00 UTC](https://idcflare.com/t/topic/16573/15 "2025-09-26T02:00:05Z")

</div>

大多数场景下没必要为了极致的安全性增加复杂度吧

指端口敲门

---

<div class="post-metadata">

**Author:** ![mass4ia](https://idcflare.com/user_avatar/idcflare.com/mass4ia/32/9408_2.png) [@mass4ia](https://idcflare.com/u/mass4ia)\
**Post date:** [2025 年9 月 26 日 02:06 UTC](https://idcflare.com/t/topic/16573/16 "2025-09-26T02:06:16Z")

</div>

密钥加密强度反而不是关键，一星期换一次密钥很简单

公网开放端口被扫描才是万恶之源，会被盯上，有被 ddos 的威胁

用 knockd 封扫描 ip 也很简单，适合普通人使用

---

<div class="post-metadata">

**Author:** ![wpcn](https://idcflare.com/letter_avatar/wpcn/32/6_22734026db12803ebb3e059622ac3534.png) [@wpcn](https://idcflare.com/u/wpcn)\
**Post date:** [2025 年9 月 26 日 02:08 UTC](https://idcflare.com/t/topic/16573/17 "2025-09-26T02:08:31Z")

</div>

这也太麻烦了，还不如命令行，感觉有点舍本逐末了

---

<div class="post-metadata">

**Author:** ![mass4ia](https://idcflare.com/user_avatar/idcflare.com/mass4ia/32/9408_2.png) [@mass4ia](https://idcflare.com/u/mass4ia)\
**Post date:** [2025 年9 月 26 日 02:11 UTC](https://idcflare.com/t/topic/16573/18 "2025-09-26T02:11:17Z")

</div>

```auto
vim /usr/local/etc/knockd.conf

[options]
    Logfile = /var/log/knockd.log
    Interface = ens32
[A]
    sequence = 22
    seq_timeout = 5
    command = ufw prepend deny from %IP%
    tcpflags = syn
[B]
    sequence = 22
    seq_timeout = 5
    command = ufw prepend deny from %IP%
    tcpflags = fin
[C]
    sequence = 22
    seq_timeout = 5
    command = ufw prepend deny from %IP%
    tcpflags = ack

```

比如，knockd 设置的 22 端口封扫描 ip 的蜜罐陷阱，对普通用户很友好，适合每个 vps 玩家必做

---

<div class="post-metadata">

**Author:** ![handsome](https://idcflare.com/user_avatar/idcflare.com/handsome/32/349_2.png) [@handsome](https://idcflare.com/u/handsome)\
**Post date:** [2025 年9 月 26 日 02:34 UTC](https://idcflare.com/t/topic/16573/19 "2025-09-26T02:34:31Z")

</div>

感谢大佬教程

---

<div class="post-metadata">

**Author:** ![cotichen](https://idcflare.com/user_avatar/idcflare.com/cotichen/32/7641_2.png) [@cotichen](https://idcflare.com/u/cotichen)\
**Post date:** [2025 年9 月 26 日 02:40 UTC](https://idcflare.com/t/topic/16573/20 "2025-09-26T02:40:03Z")

</div>

小白来学习了

[下一页](https://idcflare.com/t/topic/16573.md?page=2)
