Linux SSH(Secure Shell)安全配置是确保远程访问服务器时数据传输安全的重要步骤。以下是一些基础概念、优势、类型、应用场景以及常见问题及其解决方法。
SSH是一种加密网络协议,用于在不安全的网络上安全地运行网络服务。它主要用于远程登录和命令执行。
确保系统和SSH服务器软件是最新的,以防止已知漏洞。
sudo apt update && sudo apt upgrade
更改SSH默认端口(22),以减少自动化攻击的风险。
编辑/etc/ssh/sshd_config
文件:
Port 2222
重启SSH服务:
sudo systemctl restart sshd
禁止通过SSH直接使用root账户登录。
编辑/etc/ssh/sshd_config
文件:
PermitRootLogin no
生成SSH密钥对,并将公钥添加到服务器上的~/.ssh/authorized_keys
文件中。
生成密钥对:
ssh-keygen -t rsa
将公钥复制到服务器:
ssh-copy-id user@server_ip
使用防火墙限制SSH访问,只允许特定IP地址或IP段访问。
例如,使用iptables
:
sudo iptables -A INPUT -p tcp --dport 2222 -s your_ip -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2222 -j DROP
使用Google Authenticator或其他双因素认证工具增加安全性。 安装并配置PAM模块:
sudo apt install libpam-google-authenticator
编辑/etc/pam.d/sshd
文件,添加以下行:
auth required pam_google_authenticator.so
sudo systemctl status sshd
~/.ssh
目录和authorized_keys
文件的权限正确。chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
查看/var/log/auth.log
(或相应日志文件)以获取详细的错误信息,并根据提示进行排查。
通过以上步骤,可以显著提高Linux SSH服务器的安全性,减少潜在的安全风险。
领取专属 10元无门槛券
手把手带您无忧上云