采用 SSH 密钥对登录,安全与效率兼得:安全升级:公钥加密,私钥本地存储,有效抵御暴力破解与密码嗅探;运维高效:秒级免密登录,便于自动化脚本与 DevOps 集成;管控精细:多密钥独立授权,可完全关闭密码攻击面;合规审计:登录行为可追溯。简言之,以非对称加密替代静态密码,是服务器安全加固的标准实践。
使用密钥对登录
1. 创建密钥对文件
ssh-keygen -t ed25519 -f ~/.ssh/server_name -C "server_name"
2. 将生成的公钥server_name.pub内容复制到服务器的~/.ssh/authorized_keys文件里
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3. 更新SSH配置
# 禁用密码登录
PasswordAuthentication no
# 开启密钥对登录
PubkeyAuthentication yes
# 密钥文件路径
AuthorizedKeysFile ~/.ssh/authorized_keys
4. 重启服务器新配置生效
修改默认SSH端口
1. 本分sshd_config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
2. 修改配置文件 sshd_config
sudo vim /etc/ssh/sshd_config
- 找到 #Port 22 这一行(可能被注释掉)
- 建议先保留 Port 22,在新起一行添加 Port 22222。这样做是为了防止新端口无法连接时,你还能通过22端口进行修复。
- 按 Esc 键,输入 :wq 保存并退出