在美国的Linux服务器上配置SSH密钥认证
在美国Linux服务器上配置SSH密钥认证可通过以下步骤完成,综合多个技术文档整理出标准化操作流程:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa
:指定加密算法为RSA-b 4096
:密钥长度(推荐4096位提升安全性)~/.ssh/id_rsa
)及密码(可选)。ls ~/.ssh/id_rsa* # 应显示私钥(id_rsa)和公钥(id_rsa.pub)
ssh-copy-id
(推荐)ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
输入服务器密码后,公钥将自动写入~/.ssh/authorized_keys
。
ssh-copy-id
环境)~/.ssh/authorized_keys
文件:
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
sudo vi /etc/ssh/sshd_config
PubkeyAuthentication yes # 启用密钥认证 PasswordAuthentication no # 禁用密码认证(可选,增强安全)PermitRootLogin no # 禁用root远程登录(可选)AuthorizedKeysFile .ssh/authorized_keys # 公钥存储路径
sudo systemctl restart sshd # CentOS/RedHat sudo service ssh restart # Ubuntu/Debian
ssh -i ~/.ssh/id_rsa username@server_ip
/etc/ssh/sshd_config
,将Port 22
改为其他端口(如2222
),降低暴力破解风险。sudo ufw allow from 192.168.1.0/24 to any port 2222
id_rsa
)需妥善保管,避免泄露。建议加密存储或使用密码保护。ssh-copy-id
逐一上传公钥即可。/var/log/secure
日志,常见问题包括权限错误、公钥格式错误等。通过上述步骤,可实现免密登录并显著提升服务器安全性。如需完整操作示例或工具支持,可参考原文链接。