Ssh
dropbear 會處理 hosts.allow 和 hosts.deny 嗎?
我
dropbear
在 Debian(實際上是 Raspbian)上作為 SSH 守護程序執行。我試過設置# /etc/hosts.allow dropbear:192.168.1.1 # my static ip from which I SSH connect to the device
和
# /etc/hosts.deny ALL:ALL # block all others
然後我重新啟動了整個設備。我仍然可以從不同的 IP 地址甚至遠端 SSH 連接到設備。是我配置文件錯誤還是不
dropbear
支持這兩個文件?
Dropbear 不包含對
/etc/hosts.allow
和的任何支持/etc/hosts.deny
。這些文件由Dropbear 不使用的TCP 包裝庫 ( ) 管理。libwrap
一些第三方軟體包為 Dropbear 修補了 TCP 包裝器支持,但不是 Debian。您可以通過啟動 Dropbear
tcpd
來獲得 TCP 包裝器支持。/usr/sbin/tcpd /usr/sbin/dropbear -i
如果你只想按 IP 地址過濾,你可以用 iptables 來做。
iptables -A INPUT -p tcp ! --dport 22 -j DROP
嘗試:
# /etc/hosts.deny sshd:ALL:spawn /bin/echo the ip %h tried to access `/bin/date`>> /var/log/ssh.log
和
# /etc/hosts.allow sshd:192.168.1.1
如果不起作用,請以這種方式使用 dropbear 重試。
# /etc/hosts.deny dropear:ALL:spawn /bin/echo the ip %h tried to access `/bin/date`>> /var/log/ssh.log
和
# /etc/hosts.allow dropbear:192.168.1.1
並檢查 dropbear 是否支持 tcp/wrappers。
ldd /path/to/dropbear
尋找libwrap.so.0 → /lib/libwrap.so.0