
Ubuntu日本語フォーラム

ログインしていません。
はじめまして、
同一LAN内のクライアントPCからホストPCへのsshによるアクセスができないため、質問させていただきます。
使用PCは以下の通りです。
・ホストPC
OS: Ubuntu12.04
user: hoge
IP: 192.168.0.137
・クライアントPC
OS: Ubuntu 13.04
クライアント側からホストへのアクセスを試みたところ、
$ ssh -p 22 [email protected] ssh: connect to host hoge port 22: Connection timed out
と表示され、接続できません。
また、クライアント側及びホスト側からポートスキャンを実行したところ、下記の応答を得ました。
「クライアント側での応答」
$ sudo nmap -sS 192.168.0.137 -p 22 Starting Nmap 6.00 ( http://nmap.org ) at 2014-08-15 16:28 JST Nmap scan report for hoge (192.168.0.137) Host is up (0.17s latency). PORT STATE SERVICE 22/tcp filtered ssh MAC Address: 7C:C3:A1:AD:E5:C6 (Apple) Nmap done: 1 IP address (1 host up) scanned in 1.98 seconds
「ホスト側での応答」
$ sudo nmap -sS 192.168.0.137 -p 22 Starting Nmap 5.21 ( http://nmap.org ) at 2014-08-15 16:33 JST Nmap scan report for 192.168.0.137 Host is up (0.000050s latency). PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds
なお、ホストPCの
/etc/ssh/sshd_config
にて、ポートは22に設定されています。
また、/etc/hosts.allow 及び /etc/hosts.deny への記述はありません。(コメント行除く)
ホスト側からの22番ポートがopenであり、
クライアント側から見たホストの22番ポートがfilteredとなっていることから、
ファイアウォールの設定かと思い、ルータの設定を確認したところ、LAN内の接続はすべて許可されています。
現に、クライアントPCから同LAN内の別sshサーバへのログインは可能です。
なお、ホストPCにおいてrebootをかけても状況に変化はありません。
この場合、次に疑うべき箇所はどこでしょうか。
ご教授願います。
オフライン
ホストからホストへの ssh 接続を確認してください
ssh hoge@localhost
オフライン
>ryさん
お返事ありがとうございます。
下記の通り、接続を確認致しました。
$ ssh hoge@localhost hoge@localhost's password: ********* Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-24-generic-pae i686) * Documentation: https://help.ubuntu.com/ 871 packages can be updated. 433 updates are security updates. New release '14.04.1 LTS' available. Run 'do-release-upgrade' to upgrade to it. Last login: Sat Aug 16 13:22:45 2014 from localhost hoge@pcname:~$
オフライン
ホスト PC で teil -f /var/log/auth.log | grep sshd を実行して、その状態のままクライアント PC から ssh -v [email protected] してみる。
クライアント PC 側にデバッグメッセージが表示されると共に、ホスト PC の sshd (ssh サーバー デーモン) まで繋がっていれば、ホスト PC 側でも何か表示されるはず。
オフライン
ホストPCにてtailコマンドを実行した状態で、クライアントPCからsshを試みた結果です。
ホストPC側で特に何も表示されることなく、クライアントPCが timed out しました。
hoge@pcname:~$ tail -f /var/log/auth.log | grep sshd Aug 16 15:58:59 hoge sshd[6485]: Received signal 15; terminating. Aug 16 15:59:01 hoge sshd[8651]: Server listening on 0.0.0.0 port 22. Aug 16 15:59:01 hoge sshd[8651]: Server listening on :: port 22.
他方、sshアクセスを試みたクライアントPC側の結果です。
(なお、192.168.0.137へのpingは通ります。)
$ ssh -v [email protected] OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to 192.168.0.137 [192.168.0.137] port 22. debug1: connect to address 192.168.0.137 port 22: Connection timed out ssh: connect to host 192.168.0.137 port 22: Connection timed out $
オフライン
sasuke による投稿:
コード:
Aug 16 15:58:59 hoge sshd[6485]: Received signal 15; terminating.
ホスト PC の sshd の設定辺りがおかしそうです。
クライアント PC からの接続を受け付けた瞬間にに terminate している雰囲気なので、 ユーザー hoge のホーム ディレクトリににある .ssh ディレクトリ (~hoge.ssh/) とその中のファイル (~hoge.ssh/*) のアクセス権が正しくないのかも。
オフライン
先の投稿の書き間違い
誤
.ssh ディレクトリ (~hoge.ssh/) とその中のファイル (~hoge.ssh/*) のアクセス権が正しくないのかも。
正
.ssh ディレクトリ (~hoge/.ssh/) とその中のファイル (~hoge/.ssh/*) のアクセス権が正しくないのかも。
オフライン
迅速なお返事に感謝いたします。
アクセス権を確認したところ、下記の応答を得ました。
hoge@pcname:~$ ls .ssh -hg 合計 8.0K -rw-r--r-- 1 hoge 6.6K 8月 16 13:22 known_hosts hoge@pcname:~$ ls .ssh/* -hg -rw-r--r-- 1 hoge 6.6K 8月 16 13:22 .ssh/known_hosts
オフライン
sasuke による投稿:
コード:
ls .ssh -hg
ls -ld ~hoge/.ssh
ls -l ~hoge/.ssh
または
ls -la ~hoge/.ssh
でお願いします。
オフライン
$ man nmap で説明を読むと、以下の様になっています。
Nmapに認識されるポートの6つの状態
----- 省略 -----
filtered
Nmapは、このポートが開いているかどうかを判別できない。なぜなら、パ
ケットフィルタのせいで、プローブがポートまで到達できないからであ
る。このフィルタ処理は、ファイアウォール専用機器、ルータのルー
ル、ホストベースのファイアウォールソフトなどで実行できる。これらの
ポートからは情報がほとんど得られないので、攻撃者の企てを阻むことに
なる。場合によっては、タイプ3コード13(destination unreachable(宛先
到達不能):通信が管理上の理由で禁止されている)などのICMPエラーメッ
セージを返すこともあるが、応答しないでプローブを破棄するだけのフィ
ルタのほうがはるかに多く使われるようになっている。この場
合、Nmapは、プローブが破棄されたのはフィルタリングではなくてネット
ワークの混雑のせいと見なして、再試行を数回行わざるを得なくなるの
で、スキャンの進行速度が格段に落ちる。
----- 省略 -----最初の投稿で、
sasuke による投稿:
クライアント側から見たホストの22番ポートがfilteredとなっていることから、
ファイアウォールの設定かと思い、ルータの設定を確認したところ、LAN内の接続はすべて許可されています。
によって、ハードウェア的なファイアーウォールは確認済みの様ですが、ホストベースなファイアーウォール(サーバー側)も確認していますか?
自分で有効にした覚えが無くても、ファイアーウォールが原因では無い確証を得るために $ sudo ufw status でufwのステータスを確認してみてください。
ufwのステータスがactiveならば、ホストベースのファイアーウォールが有効なので、sshサーバーにアクセスできるルールが表示されていないと接続できません。
ufwのステータスがinactiveならば、ホストベースのファイアーウォールは無効になっています。
それと関係無い話ですが、サーバー側のubuntu 12.04はkernel-3.2系のままなので、表示されている様にアップデートだけ適用すれば問題ありません。
(無理にubuntu 14.04にアップグレードしなくても、2017年04月までサポート期間が残っている為)
しかし、クライアント側のubuntu 13.04は、既にサポートが終了しています。
(理由があってubuntu 13.04を使わざる負えない場合は仕方ありませんが)
「クライアント側での応答」
:コード:
: 22/tcp filtered ssh :
しまった!! 見落としていた。
#10 の katsu07 さんの指摘のように、ホスト側のファイアーウォールの確認が必要ですね。
オフライン
>katsu07さん >ryさん
昨日はPCに触れない状況でしたので、返事が遅くなってしまいました。すみません。
ご指摘の通りファイアウォールを確認したところactiveとなっており、22/tcpにアクセスするルールが未定義となっていました。
同ポートへの許可のルールを追加したところ、クライアントPCからsshでアクセスすることができました。
ファイアウォールには、ハードウェアのものと、ホストベースのものがあるのですね。
当方学生でして、学習目的でPCを利用しているのですが、大変勉強になりました。
>クライアント側のubuntu 13.04は、既にサポートが終了しています。
特に13.xxへのこだわりはないので、LTSのものに変更したいと思います。
つい先日も、サポート切れdistroのリポジトリのURLが変更されてることを知らず、apt-getで苦悶したので、
サポート期間内のものを利用するよう心掛けます。
今回初めてフォーラムを利用させて頂きましたが、お二方の丁寧なご回答に感謝しております。
今後も利用させていただくことがあるかと思いますが、よろしくお願いいたします。
オフライン