从零开始的VPS科普(2):连接你的服务器

2026-04-29 11:002阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

前文可见

拿到 VPS 之后 —— 第一次连接

2.1 VPS的连接方式

买完 VPS 之后,真正让你“进入这台服务器”的方式,通常不是点网页后台,而是通过SSH远程连接。

SSH 的全称是 Secure Shell,你可以把它理解成: 一种通过网络远程登录另一台电脑的安全方式。

比如说你购买的服务器可能在美国洛杉矶,你不可能真的跑过去洛杉矶使用服务器吧?所以就需要一种“隔空操控服务器”的办法。这个办法,最常见的就是 SSH。

通过SSH,你可以在自己的电脑上打开一个终端,然后在里面输入命令、安装软件、改配置、部署项目。

SSH 是 Linux VPS 最常用、最推荐、最核心的连接方式

除了SSH,我们还可以使用VNC/Remote Console

VNC或Remote Console不是日常主要连接方式,而是一个类似应急入口的东西,当你的VPS无法通过IP连接(IP被打进黑洞/IP无法正常连接时/防火墙配置错误把自己也锁在外面),就可以通过VNC进行连接。SSH就像一个正式入口,而VNC就是备用/紧急入口。

部分机器商家不会提供IP,需要自行使用VNC登录到机器才能获取IP地址

商家往往会在面板上提供一个VNC入口,例如说Browser VNC/noVNC,类似于下图这样的入口,面板上总能找到

image517×211 5.24 KB

image428×100 5.01 KB

上面的SSH和VNC一般是Linux服务器的连接方式,windows服务器往往是通过RDP/远程桌面来进行登录的。

2.2 SSH连接教程

在开始连接SSH前,我们需要知道服务器的基本信息,最核心的四个信息就是

  • IP地址
  • SSH端口Port(默认为22)
  • 用户名Username
  • 密码Password或者SSH Key

这些信息会在你购买完服务器并且装上系统时设置或者服务商提供得到

我随便举个例子

  • IP地址:114.51.4.191
  • SSH端口Port(默认为22):22
  • 用户名Username:root
  • 密码Password:meowvps

接下来我会分成两个部分讲解怎么连接上服务器,一个是我们常见电脑自带的方式,另一个就是通过SSH客户端的方式。

2.2.1 Windows/Mac自带方式

Windows自带Windows TerminalPowerShell,或者**命令提示符(cmd)就能连SSH,Mac则是直接打开Terminal(终端)**即可。具体操作介绍一个命令提示符的即可,其他的只是打开方式不同,命令都是一样的。

命令提示符(cmd)

首先输入win+R(这个win键一般是电脑键盘上带有Windows四个方块的图标),然后在跳出的输入框里输入cmd,回车确认

image508×265 8.12 KB

然后看到

image1220×634 7.33 KB

输入命令:ssh 用户名@IP地址 -p 端口号

注意:请不要在任何公开场合直接展现你的公网IP,可能会带来不必要的麻烦,本文是为了方便理解才直接展示

例如

ssh root@161.129.34.74 -p 22

image807×115 6.62 KB

这里需要确认是否连接这台机器,输入yes即可,随后会要求你输入密码,你可以逐个输入密码(注意,这里输入的密码并不会显示出来,虽然你没看到你输入有反馈但实际上已经输入了),如果你提前复制了密码就只需要点击右键即可粘贴(CMD里右键是粘贴功能)

image1046×296 19.2 KB

这样就是登录成功了

2.2.2 SSH客户端连接方式

虽然Windows / Mac自带终端就能直接 SSH 登录服务器,但很多新手第一次接触命令行时,还是会更喜欢用SSH 客户端

原因也很简单:

  • 界面更直观
  • 可以保存服务器信息,不用每次都去输那个SSH命令和密码,只要点击登录即可
  • 往往自带 SFTP 文件管理、终端分屏、标签页等功能使用更加便捷
  • 可以同时管理多台服务器
  • 部分客户端还可以直接看到服务器的性能数据,便于实时观测性能变化

常见的 SSH 客户端有这些:

  • Xshell:老牌经典,很多人第一款 SSH 工具就是它,也是目前我最爱用的一款
  • FinalShell:国内用户很常见,上手简单,也集成了不少功能
  • MobaXterm:功能很多,适合喜欢“一站式工具箱”的人
  • Termius:界面现代,跨平台体验不错
  • PuTTY:非常经典,但界面相对朴素一些,有点太“程序员”了

这里其中的三款(Xshell/FinalShell/PuTTY)我用过,我就用Xshell作为例子示范,其实所有软件都大同小异,没什么区别的

软件安装过程我就不展示了,直接搜索软件+安装教程 一大堆的

Xshell

打开xshell看到中央有个搜索栏一样的东西

image780×123 2.96 KB

点击最右边这个文件夹可以,然后看到这个

image995×117 6.58 KB

点击新建

image992×832 26.8 KB

名称随意输入自己喜欢的,最好能展示服务器特点的,例如广东移动2c4g,这样方便下次找

image988×837 27.1 KB

点击用户身份验证,并输入用户名和密码

image989×837 26.1 KB

点击连接,即可,SSH即可。

2.3 SSH公钥管理和登录

前面我们已经学会了基础的服务器SSH登录,即IP地址+SSH端口+用户名+密码的方式,这是最常见的也是新手会接触到的最多的登陆方式,因为不仅很多商家会默认让你在购买时输入这个密码,而且很多服务器模板都是默认密码登录的。

但其实会发现一个问题:每次都输入密码有点麻烦(即使我使用了SSH客户端记录密码方便登录),而且最重要的是,其实密码登录的方式不够安全(个人输入的密码往往是10位左右的,会有无数机器人来尝试爆破密码,而且有可能一个人会用同一套密码,一旦一个密码泄露就要面临所有机器被攻破的风险)。

所以更推荐用的是SSH公钥登录

2.3.1 什么是SSH公钥?

SSH公钥登录,听起来好像很高级,但其实你可以把它理解成一种钥匙开门的方式。

我们使用密码登录,就像是商家告诉你开门的密码,输对了就可以进入;而SSH公钥登录则更像是你把锁门用的锁给商家,跟商家说“你就用这个锁来锁门”,用这个锁的门自然只有你手上的钥匙才能打开,而且这个“锁”是可以全网公开的,谁都可以用这个锁,反正钥匙只有你手上有,只有你能开这个门。

这里我们需要介绍两个新概念来更好的解释:

  • 公钥(Public Key):就是这个特定的“锁”
  • 私钥(Private Key):就是你的钥匙,绝对不能泄露给别人

这两个东西总是成对出现,所以一般也叫做密钥对

服务器会把你提供的公钥记录下来,以后当你登录时,你电脑上的私钥会和服务器里保存的公钥进行匹配,匹配成功后,服务器就会确认“你就是这把钥匙的主人”,然后允许登录。

千万千万记住:公钥可以随意的分发,但私钥一定一定不要暴露给任何人

具体到文件格式,公钥一般会带.pub的后缀,私钥则没有(记住特征,别发错了,之前就试过错发私钥给别人…)

例如:

id_ed25519 //这个名字是这样来的:ID(identity,身份标识符),ed25519是很常用的一种加密算法 id_ed25519.pub

就是一个使用Ed25519算法生成的身份私钥+一个使用Ed25519算法生成的公钥

SSH公钥登录更推荐的原因:

  • 不用每次都输入密码
  • 安全性通常比纯密码登录更高(高很多,公钥几乎不可能被暴力破解)
  • 管理多台服务器时更省事
  • 后续还可以进一步关闭密码登录,只保留密钥登录,避免密码被机器人爆破,提高安全性

2.3.2 创建管理SSH公钥

猫猫赶快告诉我怎么创建自己的公钥吧

最好且最推荐的方式就是:自己生成

无论是Windows/Mac/Linux都是可以直接创建密钥对的,所以我们可以直接在自己的电脑上创建,Mac/Linux创建命令和windows的基本一致,这里先拿多数新手更常接触的 Windows 来举例

Windows创建公钥

同样的打开CMD(命令提示符)

首先输入win+R(这个win键一般是电脑键盘上带有Windows四个方块的图标),然后在跳出的输入框里输入cmd,回车确认

image508×265 8.12 KB

然后看到

image1220×634 7.33 KB

输入

ssh-keygen -t ed25519

意思是“创建一个用ed25519算法创建的密钥对”,然后可以看到

意思是询问你密钥保存的路径

如果你是第一次生成,直接回车使用默认路径即可,没必要折腾。

当然,如果你本地曾经创建过密钥,可能会提示你是否要覆盖原来的密钥,除非你明确原来的密钥没用了,否则不要覆盖,输入n

image743×114 4.25 KB

随后使用这个命令来创建新密钥

ssh-keygen -t ed25519 -f %USERPROFILE%\.ssh\id_ed25519_vps1

会创建一个名字为id_ed25519_vps1的密钥,你当然也可以选择其他名字例如id_ed25519_114514

还可能会问你是否要设置使用密钥的密码(直接回车则为不设置)

这其实很好理解,私钥保存在你的电脑上,但是如果你的电脑丢失或者被入侵,别人可以拿到你的私钥,你就可以给这个私钥再设一个密码,输入正确的密码才能使用私钥,双重保险。

看到这个说明创建成功

image752×422 12 KB

意思分别是:

  • id_ed25519_vps1私钥
  • id_ed25519_vps1.pub公钥

也就是说,我们成功创建了一对叫 id_ed25519_vps1 的新密钥。

接下来我们就要查看公钥

type %USERPROFILE%\.ssh\id_ed25519_vps1.pub

看到

这个

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

就是我们的公钥了,可以随意分发,可以复制整行,后面绑定服务器时要用。

当然你也可以直接去自己电脑本地的C:\Users\你的用户名\.ssh\路径下用记事本查看,这里为例就是

image951×243 11.9 KB

注意:请勿直接使用我这里的示例,因为这是我创建的公钥,你自己电脑上创建的和我完全不同

再次再次提醒:

  • id_ed25519_vps1 私钥绝对不要发给别人
  • id_ed25519_vps1.pub 公钥才是可以复制到服务器上的内容

强烈推荐自己再备份一次重要的密钥对,比如自己的U盘上,因为有时候电脑损坏、系统重装或者误删文件,可能导致私钥丢失。这样一来,你就可能无法再通过这把密钥登录服务器。如果同时又没有密码登录、没有备用公钥、也没有控制台救援手段,那就会非常麻烦,严重时甚至只能重装系统,导致服务器数据全部丢失

2.3.3 绑定SSH公钥

开始之前,请永远记住:任何涉及SSH登录方式修改的操作,都不要先断开当前连接再测试,因为你如果加错了公钥、权限设错了、路径写错了,然后你又把当前SSH连接关掉,那你就可能直接把自己锁在门外,登录不了服务器了

当你已经成功生成公钥之后,下一步就是:把公钥绑定到我们的服务器上

就用上面我示例中的为例子

公钥为

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

一般来说,绑定公钥有两种常见方式:

  • 商家侧绑定:在购买、开机、重装系统时,直接在商家面板填写公钥
  • 服务器侧绑定:先用密码登录服务器,再手动把公钥写进服务器里

前者更省事,适合刚装系统的时候直接一次到位;后者更灵活,适合已经开好机、已经能密码登录的情况(而且有的商家可能不支持你在面板处绑定公钥,只能密码登录)。

方式一:商家侧绑定公钥

很多 VPS 商家在你购买机器、重装系统、重建实例的时候,都会提供一个类似这样的输入框

例如经典的VirtFusion面板

image1698×315 11.1 KB

点击添加,把公钥复制进去,并起一个喜欢的名字

image963×614 17 KB

点击确认,在重装系统时就可以选择这个密钥进行绑定

image1345×497 14.6 KB

又例如商家DMIT的定制面板,左侧也是可以输入自己公钥,右侧可以生成一份密钥对(不建议,为了安全性考虑还是推荐自己生成)

image867×603 33.4 KB

商家侧绑定比较方便,但不是所有商家都提供这个选项,所以我们更常用第二种

方式二:服务器侧手动绑定公钥

如果你的服务器已经开好了,而且你现在能用密码正常 SSH 登录,那么就可以手动把公钥添加进去。

同样的先登录你的服务器(前面有详细步骤)

ssh root@你的IP -p 端口

进入黑色窗口的命令行后,输入

mkdir -p ~/.ssh chmod 700 ~/.ssh

我们先解析这两行命令,新手可能看不懂这个命令

mkdir -p ~/.ssh

  • mkdir:make directory,创建目录
  • -p:如果上级目录不存在就一起创建;如果这个目录已经存在,也不会报错
  • ~:当前用户的家目录
  • ~/.ssh:家目录里的 .ssh 文件夹

整条命令的意思就是:在当前用户家目录下创建一个 .ssh 文件夹,用来存放 SSH 相关文件。

chmod 700 ~/.ssh

  • chmod:change mode,修改权限
  • 700:权限,但我们为了方便用数字来表示权限
    • 第一个 7:文件拥有者权限 = 读 + 写 + 执行
    • 第二个 0:同组用户权限 = 没有任何权限
    • 第三个 0:其他用户权限 = 没有任何权限

整条命令的意思就是:只有你自己能看、能改、能进入这个 .ssh 文件夹。

大部分的系统都是自带这个.ssh目录的,但为了防止这个目录不存在我们需要创建一个目录,然后设置好权限(一定是700,因为SSH对安全要求很高,如果.ssh目录权限太宽松也可能导致登录失败)

随后我们输入

nano ~/.ssh/authorized_keys

  • nano:Linux自带的编辑器,类似于Windows上的记事本

这行命令就是说:编辑 authorized_keys 文件,然后你会看到这个,当然里面也要有可能有内容了

image1408×621 2.07 KB

随后把你的公钥整行粘贴进去

粘贴这个事情可能会遇到问题,因为有些SSH终端的粘贴快捷键不是常用的ctrl+V,而是ctrl+shift+v,为了保险起见,推荐点击鼠标右键,然后出来的选项里选择粘贴,至于你的SSH终端究竟哪个是粘贴,你可以自行实验一下

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

输入Ctrl + O进行保存,随后回车来确认文件名(你也可以改名,但此处你不要动),输入Ctrl + X退出编辑器

这个时候公钥就被你写进了认证密钥里,为了保险起见,再来一条命令

chmod 600 ~/.ssh/authorized_keys

意思是:

  • 只有自己能读写这个authorized_keys文件
  • 别人不能看也不能改

自此,你已经完成了登录SSH的公钥绑定

2.3.4 使用SSH公钥方式登录

既然已经完成了公钥绑定,接下来就是使用私钥登录了

一般来说,有两种常见方式:

  • 使用系统自带的命令行登录
  • 使用 SSH 客户端登录

CMD(命令提示符)登录

打开CMD后输入

ssh -i %USERPROFILE%\.ssh\密钥名称 root@IP -p 端口

这条命令的含义分别是:

  • ssh:发起 SSH 连接
  • -i:指定私钥文件
  • %USERPROFILE%\.ssh\密钥名称:你本地电脑上的私钥路径
  • root@IP:登录用户名和服务器 IP
  • -p 端口:服务器的 SSH 端口

按照前文配置命令会得到如下输出

C:\Users\lenovo>ssh -i %USERPROFILE%\.ssh\id_ed25519_vps1 root@114.51.4.191 -p 22457 Enter passphrase for key 'C:\Users\lenovo\.ssh\id_ed25519_vps1': //如果你的密钥被解密过就输入加密密码

然后就登录成功了

如果你是第一次登录这个服务器,仍然会看到系统询问你是否连接到这个服务器,输入YES即可,类似于

The authenticity of host '[114.51.4.191]:22457 ([114.51.4.191]:22457)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?

Xshell公钥登录

打开Xshell,新建一个会话,然后依次输入IP、端口、名称

image990×834 27.7 KB

点击左侧的用户身份验证,输入用户名,勾选Public Key,然后点击设置

image989×839 26.8 KB

image993×832 32.5 KB

点击用户密钥最右侧的...,可以看到这里很多密钥,这些是我之前使用的,如果你第一次打开这里就是空的,点击右侧的导入

image989×834 43.3 KB

找到之前创建的密钥的文件位置,并选择相应密钥,注意:私钥是不带.pub后缀的

image540×349 14.2 KB

此处选择id_ed25519_vps1然后可能会让你输入密码(如果你选择了加密)

image578×298 6.96 KB

输入密码,一路确认,最后点击连接即可完成登录

如果你能够顺利用私钥登录,而不再需要输入服务器密码,那么就说明 SSH 公钥登录已经配置成功了。

2.3.5 如何确认自己已经成功登录

我现在到底算不算真的登录到VPS了?

很多时候我们不太确认是否登录到了服务器,或者说要测试服务器连接效果,我们就尝试输入一些常见命令来验证

最直观的标志:命令提示符

在窗口中看到类似的东西

例如

root@meowvps:~#

或者

ubuntu@server:~$

这类提示符通常会显示:

  • 当前登录的用户名(此处为root)
  • 当前服务器的主机名(此处为meowvps)
  • 你所在的位置(此处为root目录下)
  • #代表root用户,$代表普通用户

输入基础命令来辅助判断

pwd

pwd的意思是print working directory,也就是“显示当前所在目录”。

uname -a

这条命令会显示当前系统的一些基本信息,比如内核版本、系统架构等

whoami

这条命令的意思非常直接:我是谁?

类似于

root@meowvps:~# pwd /root root@meowvps:~# uname -a Linux meowvps 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64 GNU/Linux root@meowvps:~# whoami root

就可以确认登录成功,你已经真正进入了这台VPS中

2.4 VNC/Remote Console登录

前面我们提到过:
SSH 是日常最常用的正式入口,而 VNC/Remote Console更像是应急入口

当你的服务器网络出现问题时(SSH 端口改错了/防火墙route配置错误把自己锁在外面),你通常仍然可以通过面板提供的控制台,直接“坐到服务器面前”操作它。

少数特殊网络类型的机器,例如部分动态IP(各种台湾香港日本家宽等)、NAT或特殊路由环境下的实例,商家不一定会把公网连接信息直接展示得很清楚,这时可能需要先通过控制台进入系统,再自行查看网络信息。

你可以把它理解成:

  • SSH是“通过网络登录服务器”
  • VNC/Console更像是“直接接管这台机器的屏幕和键盘”,相当于你坐到这台服务器面前

2.4.1 什么是VNC?

很多小白都会发现自己的面板上往往有这些字样

  • VNC
  • noVNC
  • Remote Console
  • Web Console

例如

image490×124 8.79 KB

image592×227 8.19 KB

image459×100 5.12 KB

多种多样,但我们暂时统称其为网页控制台

它的作用很简单:

让你在商家后台网页里,直接看到这台服务器当前的控制台画面,并且像坐在服务器面前一样输入命令

当然了,很多时候你看到也还是一个黑色的命令行,因为Linux服务器默认就没有桌面环境

你用SSH是

用户->输入SSH信息->根据IP和端口去寻找这台服务器的位置->进行远程登录

而用VNC是

用户->打开商家提供的VNC后台信息->商家把当前服务器控制台的显示内容传输给你,无需根据IP寻找信息

所以当你

  • SSH连不上,不确定是网络炸了还是机器本身炸了
  • 改错了 SSH 端口
  • 防火墙规则配置错了,把自己拦在外面(我已经试过不止一次了…)
  • 网络配置写坏了
  • 需要进入救援模式修系统
  • 服务商没有直接告诉你 IP,需要先进控制台查看(在动态IP服务器上这个非常常见)

简单的说就是:SSH是平时走的大门,VNC是你家备用钥匙,平时不一定用,但出事时很重要

2.4.2 VNC登录

打开商家后台,找到VNC或类似于控制台的图标,这里就以经典的VirtFusion面板为例演示,其他商家的操作逻辑通常也大同小异

VirtFusion面板

VirtFusion面板的VNC登录一般是不开启的,所以我们打开后点击Options,就可以看到下面这个页面

image1662×693 23.9 KB

然后点击Enable VNC Access即可,然后看到下面的页面,点击Browser VNC

image1645×679 27.9 KB

然后一般会看到类似这样的窗口被打开

image1502×947 70.5 KB

你可以观察到这里很SSH不同,多了很多奇怪的信息,简单解读一下就是

  • 系统识别到自己跑在 KVM 虚拟化环境
  • 服务重载/配置变化提示
  • 日志服务重启

因为你看到的是“服务器本地屏幕”,而 Linux 很多时候会把一些信息直接输出到这个控制台上,所以你打开往往是这样的页面

如果当前画面停留在日志输出界面,通常按几下回车,就能把登录提示重新刷出来;如果没有反应,也可能是系统还在启动,等会再重试就行image1502×511 71.3 KB

接着就可以像SSH密码登录一样,输入用户名和密码(注意输入的密码并不会显示),在VNC左侧可看到一个小箭头,点击展开后有很多小工具,最实用的就是这个粘贴工具

image813×420 21.4 KB

因为VNC是不能直接ctrl+shift+C/V来完成粘贴的,只能利用这个工具来进行粘贴,一旦密码很复杂,纯手打很容易出错,这个粘贴工具就很有用,但是并不是所有VNC都能支持复制粘贴的,有一些就真的要手打,挺折磨人的(

输入完用户名和密码后,你就已经进入了这台服务器的本地控制台,可以像在 SSH 里那样执行命令、修改配置、排查问题。

再再再提醒一次:VNC 更适合应急排障,而不是日常维护。平时安装软件、部署项目,更推荐使用 SSH;只有在 SSH 连不上或系统网络异常时,才优先使用 VNC/Console 处理问题

举个例子:我经常拿到多网卡机器,我要自己配置路由,经常脑子一抽强制指定单网卡进出,然后忘记把自己SSH的路由写好,就直接应用路由,然后SSH直接断开,再也连接不上了,这个时候我不想重装我的机器(重装会丢失所有数据),我就只能通过VNC的方式登录上我的服务器,重新配置好路由,就可以重新SSH登录了。

2.5 SSH登录不上的常见原因

2.5.1 SSH断断续续,反应很慢

成功登录上SSH后时不时SSH会自动断开,有时候你可能在编译代码/等的CC生成内容突然就断开了,这有点烦人

原因:本地网络波动或者VPS本身网络质量太烂

SSH过程中的网络流量图为

你---->SSH----->VPS | 你<----SSH<------VPS

SSH 会话对实时网络质量比较敏感,尤其是在丢包、抖动、延迟过高时,更容易出现卡顿、掉线、输入延迟明显等情况。较大的网络波动会导致SSH中断需要重连,比如说你的VPS的去程丢包严重,类似这样

image484×485 21.4 KB

就会很容易导致SSH断断续续的

至于VPS反应很慢,敲的字需要很久才加载出来,这种其实也是因为网络状况不佳导致的,有些VPS的网络比上面的好一点,不至于断断续续但是由于延时过高,流量一来一回需要很长时间,导致反应速度很慢,体验很差,可以考虑使用网络优质的机器或者跳板机来连接。

2.5.2 SSH登录失败

SSH登录不了,而且不是提示密码错误或者密钥错误,而是很久没反应或者直接无法连接,一般就是两个原因

  • 你记错SSH端口了,SSH端口是21212你却默认用了22,那肯定连接不上,需要确认端口
  • VPS网络质量问题,包括但不限于被q/流量用超支等问题,想要确认这个问题只需要打开ITDOG网站,ping一下你的IP通不通即可知道是不是网络问题,如果海外是通的CN方向全红,那就是被q了,如果海内外全部不通,那就是机器本身网络彻底不通了,需要打开服务商后台看看问题,尝试VNC登录等
  • VPS本身没开机:出于各种原因,你的机器处于关机状态

前提:机器IP本身可以ping通,因为有的IP本身就丢弃了ICMP包,根本无法ping通,此时可以考虑用TCPPing测试连通性

2.5.3 跳板机

登录 SSH 不一定非要“你的电脑直接连接目标 VPS”。
很多时候,你完全可以先登录一台网络更好的 VPS,再从这台 VPS 去连接另外一台机器。

这种充当“中转站”的服务器,一般就叫做跳板机

这玩意其实很好理解:

你的电脑->跳板机->目标VPS

因为有时候并不是目标 VPS 本身有问题,而是你本地到这台 VPS 的网络线路太差。
但如果你本地到某一台 VPS 的网络很好,而这台 VPS 到目标机器的网络也不错,那么先连到这台中转机器,再由它去连接目标 VPS,整体体验往往会好很多。

网友解答:
--【壹】--:

前排严肃撸猫中,昨天才看了猫猫的vps教程1
image254×311 17.5 KB


--【贰】--:

前排撸猫,另外 SSH 客户端我还推荐 Tabby,颜值高,在 GitHub 上开源~


--【叁】--:

前来学习了,前排支持大佬,大佬的教程真的让我很受益,非常的棒


--【肆】--:

前排报道,排队撸猫。猫猫的教程一如既往的清晰易懂。


--【伍】--:

失踪猫口突然复活
究竟是Mjj的扭曲还是道德的沦丧


--【陆】--:

非常详细的教程,插个眼,先赞后看(有空再实操 )


--【柒】--:

好好好,vps科普又来了,之前弄vps,弄个ufw,fail2ban,public key自己都琢磨了好久。支持下


--【捌】--:

太好勒,猫猫又更新勒,先进我的收藏夹里呆着!(晚点看


--【玖】--:

好饭不怕晚,酒香不怕巷子深,好文不怕长,先码后看。感谢大佬的辛勤编辑.


--【拾】--: 哈雷彗星:

Powershell

文艺复兴,复制一段命令跟写毕业论文一样长


--【拾壹】--:

前排撸猫 ,很实用的教程,受益匪浅,先赞后看


--【拾贰】--:

我嘞个cmd残余势力
Window Terminal + Powershell 7 球球了


--【拾叁】--:

要不要改成抽喵喵呢??感觉距离上一次科普过了好久了


--【拾肆】--: ICMP不可达喵:

这个 win 键一般是电脑键盘上带有 Windows 四个方块的图标)

感谢宝宝教程,这下终于能看懂了。


--【拾伍】--:


--【拾陆】--:

猫猫,我有一台使用alpine的机子,升级了一次后重启直接连不上了,商家的VNC服务都废了,为什么呢


--【拾柒】--:

???突然就和、更新了!昨天我还在想后续呢,今天就更新了!前排支持!

先赞后看,养成习惯!


--【拾捌】--:

我将严肃学习,刚整了几台小鸡在玩,这就来教程了


--【拾玖】--:

前排撸猫!终于更新了,先赞后看,干完活再看

标签:vps
问题描述:

前文可见

拿到 VPS 之后 —— 第一次连接

2.1 VPS的连接方式

买完 VPS 之后,真正让你“进入这台服务器”的方式,通常不是点网页后台,而是通过SSH远程连接。

SSH 的全称是 Secure Shell,你可以把它理解成: 一种通过网络远程登录另一台电脑的安全方式。

比如说你购买的服务器可能在美国洛杉矶,你不可能真的跑过去洛杉矶使用服务器吧?所以就需要一种“隔空操控服务器”的办法。这个办法,最常见的就是 SSH。

通过SSH,你可以在自己的电脑上打开一个终端,然后在里面输入命令、安装软件、改配置、部署项目。

SSH 是 Linux VPS 最常用、最推荐、最核心的连接方式

除了SSH,我们还可以使用VNC/Remote Console

VNC或Remote Console不是日常主要连接方式,而是一个类似应急入口的东西,当你的VPS无法通过IP连接(IP被打进黑洞/IP无法正常连接时/防火墙配置错误把自己也锁在外面),就可以通过VNC进行连接。SSH就像一个正式入口,而VNC就是备用/紧急入口。

部分机器商家不会提供IP,需要自行使用VNC登录到机器才能获取IP地址

商家往往会在面板上提供一个VNC入口,例如说Browser VNC/noVNC,类似于下图这样的入口,面板上总能找到

image517×211 5.24 KB

image428×100 5.01 KB

上面的SSH和VNC一般是Linux服务器的连接方式,windows服务器往往是通过RDP/远程桌面来进行登录的。

2.2 SSH连接教程

在开始连接SSH前,我们需要知道服务器的基本信息,最核心的四个信息就是

  • IP地址
  • SSH端口Port(默认为22)
  • 用户名Username
  • 密码Password或者SSH Key

这些信息会在你购买完服务器并且装上系统时设置或者服务商提供得到

我随便举个例子

  • IP地址:114.51.4.191
  • SSH端口Port(默认为22):22
  • 用户名Username:root
  • 密码Password:meowvps

接下来我会分成两个部分讲解怎么连接上服务器,一个是我们常见电脑自带的方式,另一个就是通过SSH客户端的方式。

2.2.1 Windows/Mac自带方式

Windows自带Windows TerminalPowerShell,或者**命令提示符(cmd)就能连SSH,Mac则是直接打开Terminal(终端)**即可。具体操作介绍一个命令提示符的即可,其他的只是打开方式不同,命令都是一样的。

命令提示符(cmd)

首先输入win+R(这个win键一般是电脑键盘上带有Windows四个方块的图标),然后在跳出的输入框里输入cmd,回车确认

image508×265 8.12 KB

然后看到

image1220×634 7.33 KB

输入命令:ssh 用户名@IP地址 -p 端口号

注意:请不要在任何公开场合直接展现你的公网IP,可能会带来不必要的麻烦,本文是为了方便理解才直接展示

例如

ssh root@161.129.34.74 -p 22

image807×115 6.62 KB

这里需要确认是否连接这台机器,输入yes即可,随后会要求你输入密码,你可以逐个输入密码(注意,这里输入的密码并不会显示出来,虽然你没看到你输入有反馈但实际上已经输入了),如果你提前复制了密码就只需要点击右键即可粘贴(CMD里右键是粘贴功能)

image1046×296 19.2 KB

这样就是登录成功了

2.2.2 SSH客户端连接方式

虽然Windows / Mac自带终端就能直接 SSH 登录服务器,但很多新手第一次接触命令行时,还是会更喜欢用SSH 客户端

原因也很简单:

  • 界面更直观
  • 可以保存服务器信息,不用每次都去输那个SSH命令和密码,只要点击登录即可
  • 往往自带 SFTP 文件管理、终端分屏、标签页等功能使用更加便捷
  • 可以同时管理多台服务器
  • 部分客户端还可以直接看到服务器的性能数据,便于实时观测性能变化

常见的 SSH 客户端有这些:

  • Xshell:老牌经典,很多人第一款 SSH 工具就是它,也是目前我最爱用的一款
  • FinalShell:国内用户很常见,上手简单,也集成了不少功能
  • MobaXterm:功能很多,适合喜欢“一站式工具箱”的人
  • Termius:界面现代,跨平台体验不错
  • PuTTY:非常经典,但界面相对朴素一些,有点太“程序员”了

这里其中的三款(Xshell/FinalShell/PuTTY)我用过,我就用Xshell作为例子示范,其实所有软件都大同小异,没什么区别的

软件安装过程我就不展示了,直接搜索软件+安装教程 一大堆的

Xshell

打开xshell看到中央有个搜索栏一样的东西

image780×123 2.96 KB

点击最右边这个文件夹可以,然后看到这个

image995×117 6.58 KB

点击新建

image992×832 26.8 KB

名称随意输入自己喜欢的,最好能展示服务器特点的,例如广东移动2c4g,这样方便下次找

image988×837 27.1 KB

点击用户身份验证,并输入用户名和密码

image989×837 26.1 KB

点击连接,即可,SSH即可。

2.3 SSH公钥管理和登录

前面我们已经学会了基础的服务器SSH登录,即IP地址+SSH端口+用户名+密码的方式,这是最常见的也是新手会接触到的最多的登陆方式,因为不仅很多商家会默认让你在购买时输入这个密码,而且很多服务器模板都是默认密码登录的。

但其实会发现一个问题:每次都输入密码有点麻烦(即使我使用了SSH客户端记录密码方便登录),而且最重要的是,其实密码登录的方式不够安全(个人输入的密码往往是10位左右的,会有无数机器人来尝试爆破密码,而且有可能一个人会用同一套密码,一旦一个密码泄露就要面临所有机器被攻破的风险)。

所以更推荐用的是SSH公钥登录

2.3.1 什么是SSH公钥?

SSH公钥登录,听起来好像很高级,但其实你可以把它理解成一种钥匙开门的方式。

我们使用密码登录,就像是商家告诉你开门的密码,输对了就可以进入;而SSH公钥登录则更像是你把锁门用的锁给商家,跟商家说“你就用这个锁来锁门”,用这个锁的门自然只有你手上的钥匙才能打开,而且这个“锁”是可以全网公开的,谁都可以用这个锁,反正钥匙只有你手上有,只有你能开这个门。

这里我们需要介绍两个新概念来更好的解释:

  • 公钥(Public Key):就是这个特定的“锁”
  • 私钥(Private Key):就是你的钥匙,绝对不能泄露给别人

这两个东西总是成对出现,所以一般也叫做密钥对

服务器会把你提供的公钥记录下来,以后当你登录时,你电脑上的私钥会和服务器里保存的公钥进行匹配,匹配成功后,服务器就会确认“你就是这把钥匙的主人”,然后允许登录。

千万千万记住:公钥可以随意的分发,但私钥一定一定不要暴露给任何人

具体到文件格式,公钥一般会带.pub的后缀,私钥则没有(记住特征,别发错了,之前就试过错发私钥给别人…)

例如:

id_ed25519 //这个名字是这样来的:ID(identity,身份标识符),ed25519是很常用的一种加密算法 id_ed25519.pub

就是一个使用Ed25519算法生成的身份私钥+一个使用Ed25519算法生成的公钥

SSH公钥登录更推荐的原因:

  • 不用每次都输入密码
  • 安全性通常比纯密码登录更高(高很多,公钥几乎不可能被暴力破解)
  • 管理多台服务器时更省事
  • 后续还可以进一步关闭密码登录,只保留密钥登录,避免密码被机器人爆破,提高安全性

2.3.2 创建管理SSH公钥

猫猫赶快告诉我怎么创建自己的公钥吧

最好且最推荐的方式就是:自己生成

无论是Windows/Mac/Linux都是可以直接创建密钥对的,所以我们可以直接在自己的电脑上创建,Mac/Linux创建命令和windows的基本一致,这里先拿多数新手更常接触的 Windows 来举例

Windows创建公钥

同样的打开CMD(命令提示符)

首先输入win+R(这个win键一般是电脑键盘上带有Windows四个方块的图标),然后在跳出的输入框里输入cmd,回车确认

image508×265 8.12 KB

然后看到

image1220×634 7.33 KB

输入

ssh-keygen -t ed25519

意思是“创建一个用ed25519算法创建的密钥对”,然后可以看到

意思是询问你密钥保存的路径

如果你是第一次生成,直接回车使用默认路径即可,没必要折腾。

当然,如果你本地曾经创建过密钥,可能会提示你是否要覆盖原来的密钥,除非你明确原来的密钥没用了,否则不要覆盖,输入n

image743×114 4.25 KB

随后使用这个命令来创建新密钥

ssh-keygen -t ed25519 -f %USERPROFILE%\.ssh\id_ed25519_vps1

会创建一个名字为id_ed25519_vps1的密钥,你当然也可以选择其他名字例如id_ed25519_114514

还可能会问你是否要设置使用密钥的密码(直接回车则为不设置)

这其实很好理解,私钥保存在你的电脑上,但是如果你的电脑丢失或者被入侵,别人可以拿到你的私钥,你就可以给这个私钥再设一个密码,输入正确的密码才能使用私钥,双重保险。

看到这个说明创建成功

image752×422 12 KB

意思分别是:

  • id_ed25519_vps1私钥
  • id_ed25519_vps1.pub公钥

也就是说,我们成功创建了一对叫 id_ed25519_vps1 的新密钥。

接下来我们就要查看公钥

type %USERPROFILE%\.ssh\id_ed25519_vps1.pub

看到

这个

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

就是我们的公钥了,可以随意分发,可以复制整行,后面绑定服务器时要用。

当然你也可以直接去自己电脑本地的C:\Users\你的用户名\.ssh\路径下用记事本查看,这里为例就是

image951×243 11.9 KB

注意:请勿直接使用我这里的示例,因为这是我创建的公钥,你自己电脑上创建的和我完全不同

再次再次提醒:

  • id_ed25519_vps1 私钥绝对不要发给别人
  • id_ed25519_vps1.pub 公钥才是可以复制到服务器上的内容

强烈推荐自己再备份一次重要的密钥对,比如自己的U盘上,因为有时候电脑损坏、系统重装或者误删文件,可能导致私钥丢失。这样一来,你就可能无法再通过这把密钥登录服务器。如果同时又没有密码登录、没有备用公钥、也没有控制台救援手段,那就会非常麻烦,严重时甚至只能重装系统,导致服务器数据全部丢失

2.3.3 绑定SSH公钥

开始之前,请永远记住:任何涉及SSH登录方式修改的操作,都不要先断开当前连接再测试,因为你如果加错了公钥、权限设错了、路径写错了,然后你又把当前SSH连接关掉,那你就可能直接把自己锁在门外,登录不了服务器了

当你已经成功生成公钥之后,下一步就是:把公钥绑定到我们的服务器上

就用上面我示例中的为例子

公钥为

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

一般来说,绑定公钥有两种常见方式:

  • 商家侧绑定:在购买、开机、重装系统时,直接在商家面板填写公钥
  • 服务器侧绑定:先用密码登录服务器,再手动把公钥写进服务器里

前者更省事,适合刚装系统的时候直接一次到位;后者更灵活,适合已经开好机、已经能密码登录的情况(而且有的商家可能不支持你在面板处绑定公钥,只能密码登录)。

方式一:商家侧绑定公钥

很多 VPS 商家在你购买机器、重装系统、重建实例的时候,都会提供一个类似这样的输入框

例如经典的VirtFusion面板

image1698×315 11.1 KB

点击添加,把公钥复制进去,并起一个喜欢的名字

image963×614 17 KB

点击确认,在重装系统时就可以选择这个密钥进行绑定

image1345×497 14.6 KB

又例如商家DMIT的定制面板,左侧也是可以输入自己公钥,右侧可以生成一份密钥对(不建议,为了安全性考虑还是推荐自己生成)

image867×603 33.4 KB

商家侧绑定比较方便,但不是所有商家都提供这个选项,所以我们更常用第二种

方式二:服务器侧手动绑定公钥

如果你的服务器已经开好了,而且你现在能用密码正常 SSH 登录,那么就可以手动把公钥添加进去。

同样的先登录你的服务器(前面有详细步骤)

ssh root@你的IP -p 端口

进入黑色窗口的命令行后,输入

mkdir -p ~/.ssh chmod 700 ~/.ssh

我们先解析这两行命令,新手可能看不懂这个命令

mkdir -p ~/.ssh

  • mkdir:make directory,创建目录
  • -p:如果上级目录不存在就一起创建;如果这个目录已经存在,也不会报错
  • ~:当前用户的家目录
  • ~/.ssh:家目录里的 .ssh 文件夹

整条命令的意思就是:在当前用户家目录下创建一个 .ssh 文件夹,用来存放 SSH 相关文件。

chmod 700 ~/.ssh

  • chmod:change mode,修改权限
  • 700:权限,但我们为了方便用数字来表示权限
    • 第一个 7:文件拥有者权限 = 读 + 写 + 执行
    • 第二个 0:同组用户权限 = 没有任何权限
    • 第三个 0:其他用户权限 = 没有任何权限

整条命令的意思就是:只有你自己能看、能改、能进入这个 .ssh 文件夹。

大部分的系统都是自带这个.ssh目录的,但为了防止这个目录不存在我们需要创建一个目录,然后设置好权限(一定是700,因为SSH对安全要求很高,如果.ssh目录权限太宽松也可能导致登录失败)

随后我们输入

nano ~/.ssh/authorized_keys

  • nano:Linux自带的编辑器,类似于Windows上的记事本

这行命令就是说:编辑 authorized_keys 文件,然后你会看到这个,当然里面也要有可能有内容了

image1408×621 2.07 KB

随后把你的公钥整行粘贴进去

粘贴这个事情可能会遇到问题,因为有些SSH终端的粘贴快捷键不是常用的ctrl+V,而是ctrl+shift+v,为了保险起见,推荐点击鼠标右键,然后出来的选项里选择粘贴,至于你的SSH终端究竟哪个是粘贴,你可以自行实验一下

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMw4Fzx809cEmzuImH13FUH84F6x1fJ6UrlIdAbctwK

输入Ctrl + O进行保存,随后回车来确认文件名(你也可以改名,但此处你不要动),输入Ctrl + X退出编辑器

这个时候公钥就被你写进了认证密钥里,为了保险起见,再来一条命令

chmod 600 ~/.ssh/authorized_keys

意思是:

  • 只有自己能读写这个authorized_keys文件
  • 别人不能看也不能改

自此,你已经完成了登录SSH的公钥绑定

2.3.4 使用SSH公钥方式登录

既然已经完成了公钥绑定,接下来就是使用私钥登录了

一般来说,有两种常见方式:

  • 使用系统自带的命令行登录
  • 使用 SSH 客户端登录

CMD(命令提示符)登录

打开CMD后输入

ssh -i %USERPROFILE%\.ssh\密钥名称 root@IP -p 端口

这条命令的含义分别是:

  • ssh:发起 SSH 连接
  • -i:指定私钥文件
  • %USERPROFILE%\.ssh\密钥名称:你本地电脑上的私钥路径
  • root@IP:登录用户名和服务器 IP
  • -p 端口:服务器的 SSH 端口

按照前文配置命令会得到如下输出

C:\Users\lenovo>ssh -i %USERPROFILE%\.ssh\id_ed25519_vps1 root@114.51.4.191 -p 22457 Enter passphrase for key 'C:\Users\lenovo\.ssh\id_ed25519_vps1': //如果你的密钥被解密过就输入加密密码

然后就登录成功了

如果你是第一次登录这个服务器,仍然会看到系统询问你是否连接到这个服务器,输入YES即可,类似于

The authenticity of host '[114.51.4.191]:22457 ([114.51.4.191]:22457)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?

Xshell公钥登录

打开Xshell,新建一个会话,然后依次输入IP、端口、名称

image990×834 27.7 KB

点击左侧的用户身份验证,输入用户名,勾选Public Key,然后点击设置

image989×839 26.8 KB

image993×832 32.5 KB

点击用户密钥最右侧的...,可以看到这里很多密钥,这些是我之前使用的,如果你第一次打开这里就是空的,点击右侧的导入

image989×834 43.3 KB

找到之前创建的密钥的文件位置,并选择相应密钥,注意:私钥是不带.pub后缀的

image540×349 14.2 KB

此处选择id_ed25519_vps1然后可能会让你输入密码(如果你选择了加密)

image578×298 6.96 KB

输入密码,一路确认,最后点击连接即可完成登录

如果你能够顺利用私钥登录,而不再需要输入服务器密码,那么就说明 SSH 公钥登录已经配置成功了。

2.3.5 如何确认自己已经成功登录

我现在到底算不算真的登录到VPS了?

很多时候我们不太确认是否登录到了服务器,或者说要测试服务器连接效果,我们就尝试输入一些常见命令来验证

最直观的标志:命令提示符

在窗口中看到类似的东西

例如

root@meowvps:~#

或者

ubuntu@server:~$

这类提示符通常会显示:

  • 当前登录的用户名(此处为root)
  • 当前服务器的主机名(此处为meowvps)
  • 你所在的位置(此处为root目录下)
  • #代表root用户,$代表普通用户

输入基础命令来辅助判断

pwd

pwd的意思是print working directory,也就是“显示当前所在目录”。

uname -a

这条命令会显示当前系统的一些基本信息,比如内核版本、系统架构等

whoami

这条命令的意思非常直接:我是谁?

类似于

root@meowvps:~# pwd /root root@meowvps:~# uname -a Linux meowvps 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64 GNU/Linux root@meowvps:~# whoami root

就可以确认登录成功,你已经真正进入了这台VPS中

2.4 VNC/Remote Console登录

前面我们提到过:
SSH 是日常最常用的正式入口,而 VNC/Remote Console更像是应急入口

当你的服务器网络出现问题时(SSH 端口改错了/防火墙route配置错误把自己锁在外面),你通常仍然可以通过面板提供的控制台,直接“坐到服务器面前”操作它。

少数特殊网络类型的机器,例如部分动态IP(各种台湾香港日本家宽等)、NAT或特殊路由环境下的实例,商家不一定会把公网连接信息直接展示得很清楚,这时可能需要先通过控制台进入系统,再自行查看网络信息。

你可以把它理解成:

  • SSH是“通过网络登录服务器”
  • VNC/Console更像是“直接接管这台机器的屏幕和键盘”,相当于你坐到这台服务器面前

2.4.1 什么是VNC?

很多小白都会发现自己的面板上往往有这些字样

  • VNC
  • noVNC
  • Remote Console
  • Web Console

例如

image490×124 8.79 KB

image592×227 8.19 KB

image459×100 5.12 KB

多种多样,但我们暂时统称其为网页控制台

它的作用很简单:

让你在商家后台网页里,直接看到这台服务器当前的控制台画面,并且像坐在服务器面前一样输入命令

当然了,很多时候你看到也还是一个黑色的命令行,因为Linux服务器默认就没有桌面环境

你用SSH是

用户->输入SSH信息->根据IP和端口去寻找这台服务器的位置->进行远程登录

而用VNC是

用户->打开商家提供的VNC后台信息->商家把当前服务器控制台的显示内容传输给你,无需根据IP寻找信息

所以当你

  • SSH连不上,不确定是网络炸了还是机器本身炸了
  • 改错了 SSH 端口
  • 防火墙规则配置错了,把自己拦在外面(我已经试过不止一次了…)
  • 网络配置写坏了
  • 需要进入救援模式修系统
  • 服务商没有直接告诉你 IP,需要先进控制台查看(在动态IP服务器上这个非常常见)

简单的说就是:SSH是平时走的大门,VNC是你家备用钥匙,平时不一定用,但出事时很重要

2.4.2 VNC登录

打开商家后台,找到VNC或类似于控制台的图标,这里就以经典的VirtFusion面板为例演示,其他商家的操作逻辑通常也大同小异

VirtFusion面板

VirtFusion面板的VNC登录一般是不开启的,所以我们打开后点击Options,就可以看到下面这个页面

image1662×693 23.9 KB

然后点击Enable VNC Access即可,然后看到下面的页面,点击Browser VNC

image1645×679 27.9 KB

然后一般会看到类似这样的窗口被打开

image1502×947 70.5 KB

你可以观察到这里很SSH不同,多了很多奇怪的信息,简单解读一下就是

  • 系统识别到自己跑在 KVM 虚拟化环境
  • 服务重载/配置变化提示
  • 日志服务重启

因为你看到的是“服务器本地屏幕”,而 Linux 很多时候会把一些信息直接输出到这个控制台上,所以你打开往往是这样的页面

如果当前画面停留在日志输出界面,通常按几下回车,就能把登录提示重新刷出来;如果没有反应,也可能是系统还在启动,等会再重试就行image1502×511 71.3 KB

接着就可以像SSH密码登录一样,输入用户名和密码(注意输入的密码并不会显示),在VNC左侧可看到一个小箭头,点击展开后有很多小工具,最实用的就是这个粘贴工具

image813×420 21.4 KB

因为VNC是不能直接ctrl+shift+C/V来完成粘贴的,只能利用这个工具来进行粘贴,一旦密码很复杂,纯手打很容易出错,这个粘贴工具就很有用,但是并不是所有VNC都能支持复制粘贴的,有一些就真的要手打,挺折磨人的(

输入完用户名和密码后,你就已经进入了这台服务器的本地控制台,可以像在 SSH 里那样执行命令、修改配置、排查问题。

再再再提醒一次:VNC 更适合应急排障,而不是日常维护。平时安装软件、部署项目,更推荐使用 SSH;只有在 SSH 连不上或系统网络异常时,才优先使用 VNC/Console 处理问题

举个例子:我经常拿到多网卡机器,我要自己配置路由,经常脑子一抽强制指定单网卡进出,然后忘记把自己SSH的路由写好,就直接应用路由,然后SSH直接断开,再也连接不上了,这个时候我不想重装我的机器(重装会丢失所有数据),我就只能通过VNC的方式登录上我的服务器,重新配置好路由,就可以重新SSH登录了。

2.5 SSH登录不上的常见原因

2.5.1 SSH断断续续,反应很慢

成功登录上SSH后时不时SSH会自动断开,有时候你可能在编译代码/等的CC生成内容突然就断开了,这有点烦人

原因:本地网络波动或者VPS本身网络质量太烂

SSH过程中的网络流量图为

你---->SSH----->VPS | 你<----SSH<------VPS

SSH 会话对实时网络质量比较敏感,尤其是在丢包、抖动、延迟过高时,更容易出现卡顿、掉线、输入延迟明显等情况。较大的网络波动会导致SSH中断需要重连,比如说你的VPS的去程丢包严重,类似这样

image484×485 21.4 KB

就会很容易导致SSH断断续续的

至于VPS反应很慢,敲的字需要很久才加载出来,这种其实也是因为网络状况不佳导致的,有些VPS的网络比上面的好一点,不至于断断续续但是由于延时过高,流量一来一回需要很长时间,导致反应速度很慢,体验很差,可以考虑使用网络优质的机器或者跳板机来连接。

2.5.2 SSH登录失败

SSH登录不了,而且不是提示密码错误或者密钥错误,而是很久没反应或者直接无法连接,一般就是两个原因

  • 你记错SSH端口了,SSH端口是21212你却默认用了22,那肯定连接不上,需要确认端口
  • VPS网络质量问题,包括但不限于被q/流量用超支等问题,想要确认这个问题只需要打开ITDOG网站,ping一下你的IP通不通即可知道是不是网络问题,如果海外是通的CN方向全红,那就是被q了,如果海内外全部不通,那就是机器本身网络彻底不通了,需要打开服务商后台看看问题,尝试VNC登录等
  • VPS本身没开机:出于各种原因,你的机器处于关机状态

前提:机器IP本身可以ping通,因为有的IP本身就丢弃了ICMP包,根本无法ping通,此时可以考虑用TCPPing测试连通性

2.5.3 跳板机

登录 SSH 不一定非要“你的电脑直接连接目标 VPS”。
很多时候,你完全可以先登录一台网络更好的 VPS,再从这台 VPS 去连接另外一台机器。

这种充当“中转站”的服务器,一般就叫做跳板机

这玩意其实很好理解:

你的电脑->跳板机->目标VPS

因为有时候并不是目标 VPS 本身有问题,而是你本地到这台 VPS 的网络线路太差。
但如果你本地到某一台 VPS 的网络很好,而这台 VPS 到目标机器的网络也不错,那么先连到这台中转机器,再由它去连接目标 VPS,整体体验往往会好很多。

网友解答:
--【壹】--:

前排严肃撸猫中,昨天才看了猫猫的vps教程1
image254×311 17.5 KB


--【贰】--:

前排撸猫,另外 SSH 客户端我还推荐 Tabby,颜值高,在 GitHub 上开源~


--【叁】--:

前来学习了,前排支持大佬,大佬的教程真的让我很受益,非常的棒


--【肆】--:

前排报道,排队撸猫。猫猫的教程一如既往的清晰易懂。


--【伍】--:

失踪猫口突然复活
究竟是Mjj的扭曲还是道德的沦丧


--【陆】--:

非常详细的教程,插个眼,先赞后看(有空再实操 )


--【柒】--:

好好好,vps科普又来了,之前弄vps,弄个ufw,fail2ban,public key自己都琢磨了好久。支持下


--【捌】--:

太好勒,猫猫又更新勒,先进我的收藏夹里呆着!(晚点看


--【玖】--:

好饭不怕晚,酒香不怕巷子深,好文不怕长,先码后看。感谢大佬的辛勤编辑.


--【拾】--: 哈雷彗星:

Powershell

文艺复兴,复制一段命令跟写毕业论文一样长


--【拾壹】--:

前排撸猫 ,很实用的教程,受益匪浅,先赞后看


--【拾贰】--:

我嘞个cmd残余势力
Window Terminal + Powershell 7 球球了


--【拾叁】--:

要不要改成抽喵喵呢??感觉距离上一次科普过了好久了


--【拾肆】--: ICMP不可达喵:

这个 win 键一般是电脑键盘上带有 Windows 四个方块的图标)

感谢宝宝教程,这下终于能看懂了。


--【拾伍】--:


--【拾陆】--:

猫猫,我有一台使用alpine的机子,升级了一次后重启直接连不上了,商家的VNC服务都废了,为什么呢


--【拾柒】--:

???突然就和、更新了!昨天我还在想后续呢,今天就更新了!前排支持!

先赞后看,养成习惯!


--【拾捌】--:

我将严肃学习,刚整了几台小鸡在玩,这就来教程了


--【拾玖】--:

前排撸猫!终于更新了,先赞后看,干完活再看

标签:vps