配置SSH远程登录服务器

45 3.2~4.1 分钟

这里的服务器是在本地虚拟机安装的 ubuntu 23,使用 MacOS 著名的虚拟机软件 PD。但是其他软件比如 VMware 也是一样的。

安装桌面环境没成功,所以直接用终端界面了,利用 SSH 连接到本地终端或者 VSCODE 来使用。

这里的环境没有默认禁止密码登录,禁止的话会更麻烦一些。

首次配置流程

查看服务器 IP 地址

ip a

在 Mac 上尝试登录服务器

ssh ustc@xxx

失败,在服务器上查看 ssh 信息,发现没开启……

# 如果没有安装,还需要下载 openssh-server
sudo systemctl status ssh
sudo systemctl start ssh
sudo systemctl enable ssh

开启后重新尝试 ssh 登录,询问时使用 yes,正常登录进入服务器系统。检查后退出

$ exit # 退出服务器

在 Mac 本地生成密钥文件

ssh-keygen

默认条件下会生成一个id_rsaid_rsa.pub文件,分别为私钥和公钥。公钥是分享给服务器的。

一份公钥可以多次使用,但如果是生产用的服务器,最好一钥一用,降低风险

将公钥拷贝到服务器上。如果服务器不允许使用密码操作,需要将用户目录下  .ssh/id_rsa.pub  文件的内容复制到机器对应用户的  .ssh/authorized_keys  文件中

$ ssh-copy-id ustc@xxx
$ ssh ustc...
$ cat .ssh/authorized_keys # check

为了安全性,关闭 SSH 密码登录:

编辑  /etc/ssh/sshd_config  文件,将其中PasswordAuthentication yes修改为

PasswordAuthentication no

然后让 SSH 服务器重新加载配置:

sudo systemctl reload ssh

在这之后,登录就不再需要密码了。

让 SSH 更好用的配置

每次登录都输入ssh username@ip也太累了,在~/.ssh/config下新建下列行

Host myserver # 自己取的服务器别名
	HostName 123.456.78.90
	User your_username # 服务器用户名,我用的普通用户

就可以通过

$ ssh myserver

直接登录服务器

参考

Bilibili
Linux101


上一篇 SteamDeck游戏适配记录(兼简单游玩体验)
下一篇 上古卷轴5在SteamDeck上安装mod(SteamOS)