原本我一直是 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 了
感谢观看~