Server 端设置

为了防止学校内网机器被挂木马挖矿, 学校屏蔽了所有内网连接的22端口. 因此所有刚装好的机器需要修改SSH默认端口. 除此之外还有一些推荐设置. 本文提到所有Server端配置都在 /etc/ssh/sshd_config文件里.

  1. # (默认 22 必须修改为其他端口) ⚠️不要直接用文中的13841
  2. Port 13841
  3. # 建议改成no, 防止恶意root登陆 推荐指数: 🌟🌟🌟🌟🌟
  4. PermitRootLogin no
  5. # 设置发送心跳包防止连接被关闭 推荐指数: 🌟🌟🌟🌟
  6. ClientAliveInterval 60
  7. ClientAliveCountMax 3
  8. # 关闭密码登陆, 用户只能使用密钥登陆 推荐指数: 🌟🌟🌟
  9. PasswordAuthentication no
  10. # 允许SSH Server转发图形化界面 推荐指数: 🌟🌟🌟
  11. X11Forwarding yes

修改完配置之后重启sshd服务使配置生效

systemctl restart sshd.service

Client 设置

配置密钥登陆

拷贝本地机器 $HOME/.ssh/[xxx].pub里的内容到服务器里的 $HOME/.ssh/authorized_keys.
如果该文件不存在, 运行

ssh-keygen -t [crypto] -C [remarks] -f [file name]

生成密钥和公钥.

  • [crypto]:填写使用的加密协议,一般为dsa | ecdsa | ed25519 | rsa
  • [Remarks]: 备注,一般是邮箱。可以不填
  • [file name]:生成的文件名,默认是 id_[crypto]
  • 其他参数 man ssh-keygen

会生成两个文件一个密钥和公钥,公钥后缀是.pub

默认地址是在 ~/.ssh