主要方式
- 在阿里云控制台生成密钥文件 ./XXX.pem
- 修改
./XXX.pem 文件权限为只读。(base) ? chmod 400 ./XXX.pem
- 本地主机使用
ssh-add -k ./XXX.pem 命令把身份认证添加到本机。出现如下所示即成功。(base) ? ssh-add -k ./MacBook.pem
Identity added: ./MacBook.pem (./MacBook.pem)
- 使用
ssh root@[Linux 服务器主机IP] 即可免密登录。
阿里云官网的教程,Mac 和 Linux 部分有问题。
- 检查
/etc/ssh/ssh_config 文件中相关选项是否正确关闭。 为了安全,应该保证以下字段这样设置:## 启用密钥对认证
RSAAuthentication yes
PubkeyAuthentication yes
## 不允许密码登录
PasswordAuthentication no
修改 /etc/ssh/ssh_config 文件后记得重启 ssh 服务: systemctl restart sshd 。
结合 Mac Terminal 快速登录
通过上述配置,已经完成了使用 ssh root@[Linux 服务器主机IP] 免密登录。此时可配合 Mac Terminal 的描述文件功能实现打开终端窗口的同时快速登录。
步骤如下:
- 打开 Terminal 偏好设置,进入描述文件功能页。
- 左边描述页栏新建描述文件,如 Linux 远程服务器。
- 在新建的 Linux 远程服务器描述文件的 shell 子项内运行命令里输入
ssh root@[Linux 服务器主机IP] 。 - 即可在菜单栏的 Shell 子菜单中的新建窗口或新建标签页中找到刚创建的描述文件,点击后即可创建相应的自动连接到远程服务器的窗口或标签页。
使用此方法免去了下载第三方SSH软件的烦恼。
保持活跃连接
原理是定期发送一个空包进行通讯,类似于心跳。
有两种方式
服务器主动保持连接
推荐方式
- 登录ssh服务器,编辑
vim /etc/ssh/sshd_config 添加如下两句
## 原配置文件中有,只不过被注释掉了,去掉注释即可
## 服务端每间隔60s会向客户端发送一个空数据包,这个数据太大的话还是会断开,比如120s。
ClientAliveInterval 60
## 服务器最大会发送720次,120*720=24小时
ClientAliveCountMax 720
- 重启sshd服务
systemctl restart sshd
24小时期间连接是不会断开的
客户端主动保持连接
编辑 ~/.ssh/config 文件,增加 ServerAliveInterval 120
Host server
HostName xxx.domain.local
## 每隔120秒向服务器发送一个空数据包
ServerAliveInterval 120
User root
排版规范
本文遵循 中文排版指南 规范。
|