お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-09-20 21:26:39

dcccxvi
メンバ
登録日: 2011-09-18

SSHでLAN外から接続できない。

SSHで外部から自宅のUbuntuにログインしようとしたのですがうまくいきません。
openssh-server をインストールして、LAN内からはログインできるようになったのですが、LAN外から(グローバルIPアドレスで)ログインしようとすると、「ネットワークエラー:接続が拒否されました。」と表示されてログインできません。
色々調べていくうちに/etc/ssh/sshd_config を書き換えなくてはならないとあったのですが、どこをどう書き換えたらよいのか分かりません。
ポートが開放されているかどうかを確認するためにnmap localhost を実行したところ。
22/tcp  open  ssh
と表示されたのですが、http://www.akakagemaru.info/port/tcpport.php で確認したところ開放されていないということでした。
どうしたらよいのでしょうか?

オフライン

 

#2 2011-09-21 08:09:14

ry
メンバ
登録日: 2008-07-30

Re: SSHでLAN外から接続できない。

インターネットに接続しているルーターで、インターネット側から 22 番ポートへの接続を LAN 内の ubuntu の 22 番ポートへ転送するように設定してありますか?

オフライン

 

#3 2011-09-21 12:41:41

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

ルーター側からポート開放の設定を行ったところ、今度は「接続がタイムアウトしました。」と表示されるようになりました。
ルーターの設定が画面には「SSH(TCPポート:22) 有効」と表示され、上のサイトから再度確認してみたところ、開放されているとの結果が出ました。

オフライン

 

#4 2011-09-21 13:30:45

zagan
メンバ
登録日: 2008-08-12

Re: SSHでLAN外から接続できない。

Ubuntuのファイアウォールが動作してるんでしょうかね?

コード:

sudo ufw status

で確認してみてください。

非アクティブだったら、sshを起動させてみてください。

コード:

sudo service sshd restart

オフライン

 

#5 2011-09-21 14:14:06

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

sudo ufw status を実行してみたところ、「状態:非アクティブ」と表示されたので、おっしゃるとおりに sudo service sshd restart を実行してみたところ、「sshd: unrecognized service」と表示されました。
そこで /etc/services に
sshd       22/tcp
と追記してみたのですが、やはり同じ事をいわれました。
試しに sudo service ssh restart を実行してみたのですが、やはり sudo service sshd restart を実行してみたら「状態:非アクティブ」と言う結果でした。

オフライン

 

#6 2011-09-21 15:10:49

zagan
メンバ
登録日: 2008-08-12

Re: SSHでLAN外から接続できない。

TcpWrapperって分かりますか?
なんらかの外部公開サーバーを起動させているなら、上の文字の意味がわからないとセキュリティを維持することができません。

回答してしまって良いものか迷ってます。

まずはTcpWrapperの意味となにをどうするとどうなるかを理解してください。

# う。なんか冷たいですかね????

オフライン

 

#7 2011-09-21 15:29:04

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: SSHでLAN外から接続できない。

解決策では無くて申し訳有りません.

dcccxvi さん による投稿:

sudo service sshd restart を実行してみたところ、「sshd: unrecognized service」と表示されました。

service コマンドで ssh サービスを指定するのには sshd ではなく ssh を指定します.

コード:

$ service ssh status
ssh start/running, process 736
$ service sshd status
sshd: unrecognized service

dcccxvi さん による投稿:

そこで /etc/services に
sshd       22/tcp
と追記してみたのですが、

は,/etc/services に本来から有る

コード:

ssh        22/tcp                # SSH Remote Login Protocol

と被ってしまいます.
それがどういう影響を持つのかは知りませんが,消すのが無難でしょう.

オフライン

 

#8 2011-09-21 16:25:33

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

zaganさん
TcpWrapperについて調べて見ましたが、
http://shikichi.ddo.jp/tcp_wrapper.html#tcpwrapper_set_flow
に書いてある/etc/inetd.conf、etc/proftpd.conf、/etc/hosts.allow、/etc/hosts.denyなどのファイルが存在しませんでした。

einundzwanzighundertsechsさん
>service コマンドで ssh サービスを指定するのには sshd ではなく ssh を指定します.
sudo service sshd restart じゃなくて
sudo service ssh restart でよいということでしょうか?

/etc/servicesに追記した部分については、試してみてダメだと分かった直後に削除しました。
書き忘れてすいません。


見当違いのことを言っていたらすみません。

オフライン

 

#9 2011-09-21 16:49:19

zagan
メンバ
登録日: 2008-08-12

Re: SSHでLAN外から接続できない。

> einundzwanzighundertsechs

ご指摘感謝。ミスを避けるためにも、検証してから書き込むべきだったのですが、ついつい・・・

皆さんに陳謝いたします。

> dcccxviさん

TcpWrapperだけで検索しませんでした?

「Debian Tcpwrapper SSH」とかってすると・・・

オフライン

 

#10 2011-09-21 19:06:56

ry
メンバ
登録日: 2008-07-30

Re: SSHでLAN外から接続できない。

ubuntu では SSH サーバーの接続に TCPWrapper を使ってはいません
SSH サーバー (sshd [openssh-server]) 単独で接続を確立しています
初期状態から明示的に TCPWrapper を使うように変更していれば別ですが

#1 で「LAN内からはログインできるようになった」とあるので少なくとも SSH サーバーは正常に動作しているように思えます
#3 で「ルーター側からポート開放の設定を行った」ところ「接続がタイムアウト」したということなら、次に確認指定のは以下の点です

接続しようと操作している PC は ubuntu と同じ LAN 内にありませんか?
この状況でルーターのグローバル IP に ssh 接続しても、大抵の場合はタイムアウトになります (ルーターによってはうまくいくものがあるかもしれない)

PC を LAN から外して、ubuntu が繋がるインターネットへの回線とは全く別の回線を使ってインターネットに接続しなければ、グローバル IP への接続テストはできません

オフライン

 

#11 2011-09-21 19:40:50

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

ryさん
お察しのとおり、同じLAN内にあります。
同じLAN内からはローカルIPで、LAN外からはグローバルIPで接続しなければならないということでしょうか?
明日外から接続テストをしてみます。
ありがとうございます。

オフライン

 

#12 2011-09-21 21:01:11

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

先ほど家のPC(サーバーじゃないほう)から外部のサーバーにssh接続して、そこからさらに家のサーバーにssh接続して見ましたが、タイムアウトしました。
さらに、念のためLAN内からの接続を試みたところ、以前は問題なく接続できていたのに接続を拒否されました。
何かまずいところをいじってしまったのでしょうか?

オフライン

 

#13 2011-09-22 00:34:27

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

一人で何回も連投すいません。
先ほど#1のサイトでポート開放の確認をしてみたところ、開いていないとの結果が出ました(#3のときは開放されているという結果でした)。
しかしルーターの設定画面を見たらちゃんと開いているようなので、再び nmap localhost を実行してみたところ、22/tcp がなくなっていました。
ところがufwは#5のとおり非アクティブですし、ファイアウォールで弾いているのではないようなので、ポート開放云々以前の問題なのかもしれません。

オフライン

 

#14 2011-09-22 07:53:18

ry
メンバ
登録日: 2008-07-30

Re: SSHでLAN外から接続できない。

#1 から #11 までの間で行った何かが原因で 22/tcp が閉じてしまったのでしょうね

まず ubuntu の端末で sudo service ssh status を実行して以下のような結果が表示されるかを確認

ssh start/running, process 17542
※太字の部分以外は環境で異なる

これ以外の結果なら SSH サーバーが起動していない
SSH サーバーが起動していないときは sudo services ssh start を実行して、SSH サーバーを起動する

SSH サーバーが起動しているのを確認したら、次に sudo netstat -lnp | grep :22 を実行して以下のような結果が表示されるかを確認

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      17542/sshd
※太字の部分以外は環境で異なる

これ以外の設定なら /etc/ssh/sshd_config ファイルが間違っている可能性が大

上記を確認できれば、(少なくとも) LAN 内からは SSH で接続できるはず

オフライン

 

#15 2011-09-22 11:11:55

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

回答ありがとうございます。
まずsudo service ssh status を実行してみると、

コード:

$sudo service ssh status
ssh stop/waiting

となったので、sudo services ssh start を実行してみると、

コード:

$ sudo service ssh start
ssh start/pre-start, process 1910
$ sudo service ssh start (←念のためもう一回実行してみました。)
ssh start/running, process 1946

しかし、再びsudo service ssh status を実行してみると、

コード:

$sudo service ssh status
ssh stop/waiting

となり、sudo netstat -lnp | grep :22 を実行してもなにもひょうじされませんでした。
これでもだめなら/etc/ssh/sshd_config の記述に間違いがあるということなので、
http://www.saturn.dti.ne.jp/~jpug/doc/l … onfig.html
を見て比較して見ましたが、正直自分では判断がつきません(また変なところをいじって問題が起きるのも嫌ですし)ので、マナー違反かも知れませんが /etc/ssh/sshd_config の内容をここに載せさせていただきます。
上のサイトを見てデフォルト値と異なっている部分には後ろに※マークをつけておきました。

コード:

# Package generated configuration file
 See the sshd_config(5) manpage for details
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2 ※
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes ※
X11DisplayOffset 10
PrintMotd no ※
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

オフライン

 

#16 2011-09-22 21:23:40

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

色々調べてみて、デバッグモードでsshdを起動してみることにしました。

コード:

$sudo /usr/sbin/sshd -ddd
(略)
/etc/ssh/sshd_config: line 2: Bad configuration option: See
(略)
/etc/ssh/sshd_config: terminating, 1 bad configuration options

となったので再び /etc/ssh/sshd_config を確認して見たところ二行目のコメントアウトが外れていました(何とマヌケな...)。
その部分をコメントアウトしてsshを起動してみたらLAN内からは正常に接続できました。
ただ、#12の方法で外部からの接続を試みたらやはりタイムアウトしました。
そこで#1のサイトで確認して見たところ、ポートは開いていましたが、IPアドレスの値が変わっていたのでIPで接続して見たところ、正常に接続できました。
調べてみるとIPアドレスは固定できるということですが、そのことにリスクはあるのでしょうか?

オフライン

 

#17 2011-09-23 06:32:53

STGSAGWAN
ゲスト

Re: SSHでLAN外から接続できない。

もう解決されたようですが、 あなたと全く同じ現象である、 http://hibari.2ch.net/test/read.cgi/linux/1314503687/507-514 も大いに参考になるかと思います。

 

#18 2011-09-23 07:59:49

ry
メンバ
登録日: 2008-07-30

Re: SSHでLAN外から接続できない。

グローバル IP アドレスは、通常はルーターの再起動 (インターネットへの再接続) で変わります
これを固定するには ISP にその旨を申し込みます
ほとんどの ISP ではグローバル IP を固定するサービスには追加で料金が発生します
グローバル IP を固定するサービスを提供していない ISP もあります

グローバル IP を固定しなくても、ダイナミック DNS サービスを利用すれば fqdn が使えるようになります

#これ以上はトピック タイトルとの乖離が大きくなるため、必用に応じて新たにトピックを建ててください
#SSH サーバーについての話題であれば、このまま継続して構いません

オフライン

 

#19 2011-09-23 10:07:48

dcccxvi
メンバ
登録日: 2011-09-18

Re: SSHでLAN外から接続できない。

STGSAGWANさん
ありがとうございます。読んでみます。
ryさん
そうですね。もうssh接続自体はできるようになりましたし、このトピックは閉じさせていただきます。
ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB