原本我一直是 Termius 的忠实用户,从我的第一台VPS开始就一直使用其作为我的VPS远程链接工具,但随着自己对“轻量化”的不断追求以及使用 VSC 介入了远程文件操作,再加上看其他博客教程时被丝滑的原生终端所吸引(煽风点火),最后在自己的研究下研究出了优雅的使用MAC原生终端链接SSH的流程

这不代表 Termius 不好用(´▽`),小白的话建议还是从图形化界面开启自己的 SSH 之旅吧!

基本的 SSH 连接

这是基本教程,理论上与内容的“优雅”无关,请酌情跳到下一章节

Mac 在原生终端中进行 SSH 链接其实非常简单,只需要键入命令

ssh 用户名@服务器IP地址 -p 端口号

示例:如果你的服务器用户名为默认的root,端口为默认的22,假设你的IP为192.168.114.514

那么你的链接命令就是

ssh root@192.168.114.514 -p 22

首次连接会出现提示(提示生成自AI,我忘复制了:大哭)

The authenticity of host '192.168.114.514 (192.168.1)' c4.5141an't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

反正就是首次连接会要你确认,输入yes即可顺进入输入密码的操作

(生成自AI)输入 yes 确认并保存服务器指纹到 ~/.ssh/known_hosts

接下来就是输入密码:注意,键入密码处会有一个小钥匙,密码输入不会显示(也不会以脱敏形式体现)。选中选择键入或者粘贴都可,输入完毕后回车即可连接

以上是最基础的 SSH 连接教程

减少连接时的输入

当然,每次都要把用户名密码等信息输入连接当然很让人厌烦,一下是一种简单的方法,让在原生终端的 SSH 连接变得像在 Termius 一样简单

打开~/.ssh文件夹

访达窗口下按cmd+shift+G并输入~/.ssh即可直接跳转到文件夹下

检查文件夹内是否有config文稿文件,若是没有的话,用文本编辑软件(或其他第三方软件,例:VSC)创建一个名为config纯文本文件

如果在以上步骤中任何一步出了问题或者难以自己实施,可以直接打开终端输入以下命令实现同等效果;

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/config
chmod 600 ~/.ssh/config

运行命令完毕(或者自己创建完毕后),按照上方的方法跳转到.ssh文件夹下,这时应该看得到一个叫config到文稿文件,使用编辑器打开它(此时如果是第一次配置应该是空白的),你可以在其中输入这样的内容

Host myvps
  HostName 192.168.114.514
  User root
  Port 22

这里Host项后面的myvps是可以随意改动为你想要的名字,以便待会可以直接使用ssh myvps之类的命令进行 SSH 连接

HostName项后面改为你自己VPS IP 地址;User项后面改为你自己的用户名(默认一般为root);Port项后面改为你自己的端口(默认一般都为22)

记得保存

接下来你可以在终端里直接输入ssh myvps(记得把myvps改为你自己自定义的名字),就会直接跳转到输入密码的流程了(首次连接会要求你确认,直接同上文输入yes

变得优雅:免输密码

⚠️ 绝对不能在 SSH 配置文件中存储明文密码!(电脑的其余地方也尽量不要)

因此我们使用更加安全的方案:SSH 密钥登陆认证 来实现免输密码的操作

首先我们要生成密钥对:(以下操作均在你的本地 Mac 终端执行)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

(接下来理论上可以一路回车)然后你会看到类似的输出

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):

直接回车,生成的密钥公钥文件保存在与config同文件夹(.ssh)下

紧接着看到这样的输出

Enter passphrase (empty for no passphrase):

可以空着直接回车,也可以设置一段登录口令(增强本地密钥安全)

然后你会在.ssh文件夹下找到两个新文件

id\_rsa——私钥文件,留在本地

id\_rsa.pub——公钥文件,放在 VPS 上

接下来把公钥文件放在 VPS 上:使用命令

ssh-copy-id root@192.168.114.514

192.168.114.514改为你的 VPS IP 地址

输入你的 VPS 密码后,就会成功把你的公钥放入 VPS 的 /root/.ssh/authorized_keys

接下来,请将你的config文件进行修改

Host myvps
  HostName 192.168.114.514
  User root
  Port 22
  IdentityFile ~/.ssh/id_rsa
新增了一行IdentityFile ~/.ssh/id_rsa指向你的私钥地址

然后为了确保能顺利让 VPS 接收使用密钥进行 SSH 连接,请在服务器的/etc/ssh/sshd_config文件找到PubkeyAuthentication(推荐使用宝塔面板、VSC、Termius的 SFTP 功能快捷浏览和修改)确保他后面的选项是“yes”

总体检查:确保以下几项存在且未被注释

PermitRootLogin yes
PasswordAuthentication yes    
PubkeyAuthentication yes              # ✅ 必须开启
AuthorizedKeysFile .ssh/authorized_keys

其中PasswordAuthentication项是配置是否允许密码登陆,建议还是开启

然后你可以在 Mac 的终端中键入ssh myvps(myvps 同上还是改为自己配置的名字),一切顺利的话就可以直接免密 SSH 连接到你的 VPS 了


感谢观看~

参考资料

最后修改:2025 年 08 月 07 日
暂时还没有打尚内(真的会有人来打赏嘛……)