操作系统:Ubuntu 14.04
我想从本地 ssh 登录 root,因为 backuppc 需要它。我想用 root 登录阻止外部访问。
谢谢
您可以使用一个做到这一点Match的块/etc/ssh/sshd_config。首先,确保你有这条线:
PermitRootLogin no
Run Code Online (Sandbox Code Playgroud)
这将阻止根访问。然后,您可以通过以下方式允许它用于您的本地网络:
## Permit local root login
Match Address 192.168.1.*,127.0.0.1
PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)
这假设您的 LAN 提供了类似的 IP 192.168.1.N,如果没有,则相应地更改。另外,我建议您在末尾添加它以/etc/ssh/sshd_config确保它不与其他指令冲突。完成此操作后,重新启动 ssh 服务 ( sudo service ssh restart),您将只能以 root 身份从本地计算机进行 ssh。
使用这个简单的 iptables 规则,您可以阻止不是来自本地网络的主机,我的网络是 192.168.122.0,所以我的规则将是:
iptables -A INPUT -i eth0 -p tcp --dport 22 ! -s 192.168.122.0/24 -j DROP
Run Code Online (Sandbox Code Playgroud)
如果您只想阻止来源中的特定用户
在 /etc/ssh/sshd_config 中
AllowUsers root@192.168.122.*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14800 次 |
| 最近记录: |