私の目標:外部クライアントから私のワークステーションにSSHを介して接続できるようにしたいです。
私のワークステーション(以下サーバーともいいます)はLANにあります。このLANのIPアドレスは、インターネットのIPアドレスと大きく異なります。公開鍵を使用してSSHサーバーを設定しました。
クライアントでsshを試みると、これが起こります。
クライアントが同じLANにある場合:
私はifconfigから返されたIPを使って私のサーバーをpingしてみました。クライアントは私のサーバーをpingできません。
クライアントが外部にあり、LANにない場合:
クライアントはサーバーにpingを送信できますが、接続しようとすると次のエラーが発生します。
Connection timed out
出力iptables -L -v
Chain INPUT (policy ACCEPT 346K packets, 233M bytes)
pkts bytes target prot opt in out source destination
346K 233M sshguard all -- any any anywhere anywhere
346K 233M sshguard all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 193K packets, 26M bytes)
pkts bytes target prot opt in out source destination
Chain sshguard (2 references)
pkts bytes target prot opt in out source destination
ベストアンサー1
iptables 構成が表示されます。sshguard使用。確認してみます。sshguardの設定SSH接続を許可します。
トラブルシューティングに役立つようにsshguard()を削除し、sudo apt-get remove sshguard
sshが正しく機能していることを確認できます。
sshguardをインストールしたら、iptablesルールと/etc/hosts.denyルールを確認してください。
iptablesの場合は、以下のルールを試してください。sshguard netfilter-iptablesの例:
iptables -N sshguard
# block whatever SSHGuard says be bad ...
iptables -A INPUT -j sshguard
# enable ssh, dns, http, https
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# and block everything else (default deny)
iptables -P INPUT DROP