为防止把自己锁在门外,在进行以下操作前请先确认存在非 root 用户通过 ssh 私钥登录系统,最好保持一个已登录 root 用户的会话打开。

修改 SSH 默认端口,禁用密码登录,禁止 root 登录:

sed -i "s/^Port 22$/Port 26535/g" /etc/ssh/sshd_config \
  && sed -i "s/^#Port 22$/Port 26535/g" /etc/ssh/sshd_config \
  && sed -i "s/^PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config \
  && sed -i "s/^#PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config \
  && sed -i "s/^PermitRootLogin no/PermitRootLogin no/g" /etc/ssh/sshd_config \
  && sed -i "s/^#PermitRootLogin no/PermitRootLogin no/g" /etc/ssh/sshd_config \
  && service ssh restart

注意在云主机防火墙放过相应端口的 TCP 连接(如果云主机提供了防火墙,就没有必要在系统中再配置防火墙)。