ポート9922でssdをセットアップできません。ポート22の標準構成では、すべてが正常に機能します。次に、この行をsshd_config
ファイルに追加して、ポートを9922に変更します。
Port 9922
問題なく、ポート22でLAN内のサーバーに接続できます。ポート9922に切り替えた後、次の出力が得られます。
# ssh -vvv -p 9922 [email protected]
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.26.153 [192.168.26.153] port 9922.
debug1: connect to address 192.168.26.153 port 9922: No route to Host
ssh: connect to Host 192.168.26.153 port 9922: No route to Host
#
そしてnmap -p 9922 192.168.26.153
は以下を与えます:
# nmap -p 9922 192.168.26.153
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-06-11 08:09 CEST
Interesting ports on 192.168.26.153:
PORT STATE SERVICE
9922/tcp filtered unknown
MAC Address: 4A:34:E7:11:9F:22 (Unknown)
Nmap finished: 1 IP address (1 Host up) scanned in 0.184 seconds
#
何が欠けているのかアイデアはありますか?
ターゲットマシンのifconfig
は次のようになります。
eth0 Link encap:Ethernet Hardware Adresse 4A:34:E7:11:9F:22
inet Adresse:192.168.26.153 Bcast:192.168.26.255 Maske:255.255.255.0
inet6 Adresse: fe80::4834:e7ff:fe11:9f22/64 G?ltigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2723010 errors:0 dropped:0 overruns:0 frame:0
TX packets:552 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenl?nge:1000
RX bytes:561183811 (535.1 MiB) TX bytes:52703 (51.4 KiB)
Interrupt:24
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6 Adresse: ::1/128 G?ltigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenl?nge:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
そしてroute -n
:
# route -n
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.10.0 192.168.26.1 255.255.255.0 UG 0 0 0 eth0
192.168.26.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.26.4 0.0.0.0 UG 0 0 0 eth0
#
iptables -L
は以下を返します:
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-Host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-Host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#
ファイアウォールを停止するのは賢明な考えではありませんが、ファイアウォールを開始して、ポート9922の着信を許可することを提案します。
/ sbin/iptables -A INPUT -p tcp --dport 9922 -j ACCEPT
サーバーでSELinuxを有効にしている必要があります。不要な場合は、setenforce 0
で一時的に無効にするか、/etc/selinux/config
ファイルを変更して永続的に無効にしてください。
SELinuxを使用する場合は、sshd
がポート9922にバインドできるようにします。
semanage port -a -t ssh_port_t -p tcp 9922
私にとってはSelinuxとFirewallの組み合わせでしたが、次のように解決策を見つけました。
すでに提案されているように、Selinuxをリラックスさせる:
semanage port -a -t ssh_port_t -p tcp 9922
その後、ファイアウォールの権限も変更します。
Sudo firewall-cmd --zone=public --add-port=9922/tcp --permanent
Sudo firewall-cmd --reload
これら2つの変更により、新しいssh-port
でサーバーにアクセスできるようになりました
Sshd.confに複数のPort
行を含めることができます。
Port 22
Port 2222
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
代替ポートで外部ファイアウォール/ NATを開いているので、通常これを行いますが、内部システムが従来のポート22でサーバーにアクセスする必要があります。
必ずsshデーモンを再起動してください(service sshd restart
)構成ファイルの変更後。
nmap -p 9922 192.168.26.153
?ポートが開いていることを示していますか?
Sshクライアントのデバッグ出力のエラーは、「ホストへのルートがありません」ではなく「接続がタイムアウトしました」である必要があります。あなたとターゲットシステムの間には何がありますか?