SSH 使用的简单配置:用公钥 key 免密码登录,以及保持连接

为了 GNU/Linux 服务器的安全,我们应该使用公钥登录,而不是使用密码登录,这是非常重要以及基本的一点。我平时手里管理的服务器大概有20台以上,每台机器拷贝公钥到服务器上难免麻烦,所以就把 pub 文件放到了网站上(这里),在每台服务器上做这样的操作就可以方便地导入公钥,记录下两个简单而方便的操作,方便新手借鉴,注意:我的使用环境是 Debian GNU/Linux,预设你的本地电脑已经有 ssh key。

使用公钥登录服务器

配置使用公钥登录服务器主要是两步:
1、将自己的公钥导入欲登录服务器的验证文件中。
2、修改 ssh 配置文件,打开 RSA 验证登录,关闭密码登录。

登入新配置好的服务器,首先获取自己的公钥文件:

wget https://wenqixiang.com/dl/wen.pub

然后导入到授权的公钥文件中(意思是,此文件包含的公钥对应的私钥持有人被授权登录)

cat './wen.pub' >> ~/.ssh/authorized_keys

最后,修改 sshd 的配置文件,打开以下文件:

vi /etc/ssh/sshd_config

在文件中将下列两行前方的注释符号(#号)去掉,以使之生效


PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保持服务器的持续连接

我们登录到 Linux 服务器上之后,一般一两分钟没有操作就自动断线了,需要重新登录服务器,这样很不方便。如果要保持连接的话,可以修改服务器端的配置或者修改本地用户端的配置,但是为了安全起见,以及为了方便(如果手里管理多台服务器,一台一台修改当然就很麻烦了),推荐修改本地用户端(就是咱自己的电脑),不过更安全的做法是,不要保持持续连接,如果你在的环境对安全有较高要求的话,建议保持默认配置,掉线之后再重新连接,如果你所在的环境只求方便,不求安全,可以修改以下文件:

vi ~/.ssh/config

若没有该文件,则会自动建立该文件,建立之后,添加如是内容:

ServerAliveInterval 60

这样已经大功告成了,试试打开一个 terminal 终端连接心爱的服务器,喝一杯超过5分钟的咖啡回来看,它是否还在线?

发表回复