编辑
2024-09-29
Linux
0
请注意,本文编写于 435 天前,最后修改于 435 天前,其中某些信息可能已经过时。
  1. 创建 SSH 密钥对
ssh-keygen -t ed25519 -C "注释"

在~/.ssh/下生成 id_ed25519 私钥,id_ed25519.pub 公钥

  1. 创建“ .ssh ”目录和“ authorized_keys ”文件并设置适当的权限

创建文件夹

mkdir ~/.ssh

创建authorized_keys文件

touch ~/.ssh/authorized_keys

设置文件夹和文件权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. 公钥复制到目标服务器
ssh-copy-id -i ~/.ssh/id_xxx.pub root@10.10.10.x

或者手动复制到~/.ssh/authorized_keys中

  1. 修改SSH服务器配置文件以启用基于SSH密钥的身份验证

编辑SSH配置文件

nano /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

取消#PubkeyAuthentication yes 允许密钥登陆的注释

AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 指定密钥的文件位置

PasswordAuthentication no

注意

PasswordAuthentication no 后将不允许使用密码登陆,等测试密钥登陆成功了再修改此条。

重启SHH服务(Debian/Ubuntu/Kali)

systemctl restart ssh

重启SSH服务(RHEL/CentOS)

systemctl restart sshd
  1. 更改 SSH 端口号

检查当前SSH使用端口号

grep -E '^#Port|^Port' /etc/ssh/sshd_config

修改SSH端口号为62425

sed -i 's/^#Port 22/Port 62425/' /etc/ssh/sshd_config
sed -i 's/^Port 22/Port 62425/' /etc/ssh/sshd_config

重启SSH服务(Debian/Ubuntu/Kali)

systemctl restart ssh

重启SSH服务(RHEL/CentOS)

systemctl restart sshd
  1. 禁用 SSH Root 登录

注意

禁用 root 登录可增加一层额外的安全性,因为要求用户以普通用户身份登录,然后在需要时升级权限。

编辑SSH配置文件

nano /etc/ssh/sshd_config

PermitRootLogin no

重启SSH服务(Debian/Ubuntu/Kali)

systemctl restart ssh

本文作者:Tony325

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!