電子書籍の厳選無料作品が豊富!

WinSCP ver3.7.6.306をダウンロードしました。
WinSCP Win→ルータ1→ネット→ルータ1→Linux OpenSSH
とりあえずログインをやってみたいので、ホスト名、ポート22、ユーザ名、パスワードを入力してログインボタンを押しました。
横長の文字化けのウインドウが出て、しばらくすると
Connection timed out.のエラーダイアログが出ました。
WinSCPの3種のプロトコルはどれもそうでした。

Linux側ではnetstatで
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
です。OpenSSHは起動しているようでした。

ルータのフォワード設定で22のTCPをLinuxに転送しています。

どうしたら接続できますか?
確認するべきところを教えてください。

A 回答 (7件)

レスを読み返して疑問が出たのですが・・・#4を読む前にこれを読んでください。



ネットワーク構成とテスト環境が把握しきれていません。まず、ネットワーク構成ですが・・・
Win→ルータ1→ネット→ルータ1→Linux OpenSSH
と書かれていますが、ルータWinとLinuxは別なネットワークに存在しますよね?つまり、それぞれ別なグローバルIPのもとにルータがあり、それぞれLANを構成しているという事でよいでしょうか?
「ルータ1」と2つのルータの番号が同じですので、WinとLinuxが同じルータのLANにあるようにも取れるのですが・・・。

テスト環境について、、、
kauernさんがpingやtelnetをテストしたのは、同じLAN内でしょうか?それともLAN1(Winクライアント)→ルータ1→ネット→ルータ2→LAN2(サーバ)でしょうか?

どのテストをLAN内で、あるいはインターネット経由で行ったかが原因を割り出すには重要です。

この回答への補足

分かりにくくてすみません。
ルータは1つです。
全てローカルで解決するのではなくて、出先からでもFTPのようなファイル転送ができるようにしたいです。

Linux自信からなら
$ ssh 127.0.0.1
でsslでログインできたように見えました。

補足日時:2005/10/14 01:06
    • good
    • 0

もうひとつ



IPアドレスの192.168.1.2も仮の値ですよね?
本来ならLinux側ルーターのグローバルIPアドレスのはずです。

とするとpingで応答があったのは、Linuxが返したのではなく
ルーターが返した事になると思います。
(DMZとか設定していませんよね?)

192.168.1.2が本当の値とすると、返したのはWinと同じLANにある
別のホストかもしれません。
    • good
    • 0

1:Linuxのデストリビューションは何でしょう? Fedora? Vine? RHEL?


また、バージョンは?

2:apacheにアクセス出来るということは、少なくとも80/TCPのフォワード
はうまくいっているのだと思います。apacheのログで、確かに当該Linux
へアクセスできたという事は、確認した方がいいと思います。

恐らく22/TCPのルーターでのフォワード設定方法も80/TCPと
同じようなものだと思います。

3:iptablesが、デフォルトで有効になっているかもしれません。
#iptables -L
で、現在の設定が確認できます。なにもしていなければ

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

となります


4:構成が気になるのですが、WinとLinuxは、インターネットを経由し、
完全に異なるLAN上にあるのですよね?

Win側ルーターで制限がかかっていることは無いでしょうか?
80番と443番しか出れなくしているとか。

あと
>しかし、ymserv.netだとアンノンホストになってしまいました。
ymserv.netは、仮名ですよね?

ymserv.netの個所は、確かに当該Linux側ルーターのホスト名でしょうか?
ブラウザでアクセスできるのは、ホスト名でなくドメイン名でアクセス
しているのかもしれません。
http://google.com/
とか。

$host ymserv.net
で、IPアドレスは帰ってきますか?
(Winにはhostコマンドは無いですが)

この回答への補足

ありがとうございます。
VineLinux3.2です。
apacheのログの確認方法が分からないのでWinからブラウザで見ましたかが、現在も自鯖のホームページを観覧できます。

ルータは1つです。
WinもLinuxもこれにつながっています。

# iptables -L
でbashが、コマンドが無いと言いました。
# which iptables
でも見つからなかったので、インストールされていないようです。

iptablesが難しそうだったのでルータのポートフォワードを使って、外部からのコネクション要求をLinuxに転送しています。
80や445と共に22、10021~10025のTCPを転送しています。
DMZは使っていないので、開けたりないポートがあるのか少し心配です。
10021~10025はWinSCPでアクセスするつもりのProFTPDです。

ymserv.netは仮名です。

http;//locahhost/の確認ですか?Linuxからブラウザでアクセスして、自鯖のトップページが見れました。

$host ymserv.net
の前に
# echo $host
を実行すると空行が出力されました。
Linuxのpingなら
 192.168.1.1 (ルータ)
 192.168.1.2 (Linux)
 127.0.0.1
 123.123.45.45 (グローバルIP)
 ymserv.net (自鯖のURL)
このどれも応答があります。

プロキシは無いです。
LinuxマシンではDHCPサーバも動かしていません。

補足日時:2005/10/14 01:14
    • good
    • 0

>Puttyで、リストの文字列をダブルクリックすると接続できるらしいのでそうしました・・・



Puttyで接続できていないように思えますね。接続されれば、login as: のようにユーザ名とパスワードを入力するようにメッセージが出ると思います。タイムアウトになるという事は、SSHでの接続がうまくいっていない事というように考えられます。WinSCPも同じポートを使用するので、Puttyが接続できないならWinSCPも無理です。

>telnet 192.168.1.2 22

でSSHの情報が出ないならば、SSHデーモンが起動していないか、クライアント→サーバ間の経路に問題があると考えられます。SSHデーモンは起動しているようなので、後者が怪しいです。

>WinからもLinuxSSHサーバ自信でも、ping 192.168.1.2は正常な応答がありました。

ケーブルの破損やルータの故障ではない事が分かります。ホスト名でサーバが見つからないのは、名前解決していないからです。LAN内のみでテストしているのならば、外部のDNSに問い合わせている訳ではないので、クライアントのhostsファイルに記述すれば解決します。

>Linux側ではnetstatで
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
です。

私の場合には、
tcp 0 0 *:ssh *:* LISTEN
と表示されます。「0.0.0.0:22」の部分ですが、以下のサイトに書いてあります。
http://www.atmarkit.co.jp/fnetwork/netcom/netsta …

>鍵は必要なんですか?

一度目のアクセスで鍵を生成&登録する事になると思います。


総じて、クライアント~サーバの経路中に問題があるように思えます。サーバ側のルータ設定が間違っていませんか?「特定のIP又はホスト名(クライアント)から、22番ポート(SSHやSFTP)でアクセスされたら、サーバのプライベートIP&22番ポートに接続する」というように設定されていますか?

この回答への補足

ありがとうございます。
この際PuTTYもやってみることにしましたが、おっしゃる通りPuTTYもだめでした。
WinSCP以前にPuTTYの接続確立からやります。

補足日時:2005/10/14 01:02
    • good
    • 0

>rootのログインがnoだったのをyesにしました



root を許可するのは危険なので、拒否にしましょう。今回の件は、ユーザが原因ではないと思います。

>Linuxで
$ ssh 127.0.0.1
を実行すると、何度か尋ねられ、yes、と答えたらユーザのホームに.X何とかという何かが作られたみたいですが、それでもWinSCPは変わりませんでした。

私の場合、そのような作業はしていません。最初のアクセスの再に鍵を作り、以降からはそのままログインできるようになっています。
サーバはVineですが、SSHデーモンを起動しているだけで、sshd_confの中身はそれほど変えていません(SSHのバージョンを2に限定したくらいです)。

さて、トラブル解決は物理的な所から確認します。
ケーブルやハブ、ルータの故障はありませんか?クライアントからPINGなどで確認してみましょう。

次に、#2の方が仰るように、iptableやipchainのようなファイアウォールは使用していませんか?

DOSプロンプトからtelnetコマンドでSSHポートが空いているか確認してみてはどうでしょうか?
書式→telnet サーバIPorホスト名 22
というように、22番にアクセスするようにしてみると、正常なら
SSH-2.0-OpenSSH_3.7.1p2
などと、起動しているSSHのバージョンが表示されると思います。表示されなければ、ルーティングがうまく行われていないか、ファイアウォールなどでポートが空いていないか、サービスが起動していない事になります。

また、WinSCPでなくPuttyやTTSSHなどではアクセスできますか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
rootはnoにしました。

WinSCPでファイルの送受信をするのが目的です。
鍵は必要なんですか?
WinSCPに秘密鍵の設定がありますが、接続の時に秘密鍵かパスワードのどちらかが必要なので、パスワードでログインするなら鍵は使わなくてもいいんですよね?
サーバに鍵は必要ですか?

Puttyで、リストの文字列をダブルクリックすると接続できるらしいのでそうしました。
タイトルバーに目的のサーバ名が表示され、クライアントは真っ黒なウインドウになり、30秒後ぐらいにタイムアウトのダイアログが出て、タイトルバーの文字はPutty(inactive)になってしまいました。プロクプトは出ていますがキーを押しても文字は打てません。

お礼日時:2005/10/12 23:36

1:Linux側のログを見る


/var/log/* あたり

2:iptablesの設定を見直す
22/tcpがあいているか

3:/etc/hosts.allow,/etc/hosts.deny
sshdのエントリ

4:SELinux
これはよく分かりません

5:ルーターを再起動してみる

この回答への補足

ありがとうございます。
/var/log/* を見ましたが、sshのログファイルはありませんでした。
sshのログの設定自体も分かっていないのでログが見れないので原因を見つけにくいです。

iptablesも分かりません。

/etc/hosts.allowは回答していただいてから記述の方法を調べて分かったのでsshの設定をしました。
それでもタイムアウトでした。

ルータではTCPしか転送していなかったので22UDPも転送するようにして再起動しました。
それでもタイムアウトでした。

補足日時:2005/10/12 23:18
    • good
    • 0
この回答へのお礼

すみません。回答場所がばらばらになってしまいました。

WinからもLinuxSSHサーバ自信でも、ping 192.168.1.2は正常な応答がありました。
しかし、ymserv.netだとアンノンホストになってしまいました。
apacheを起動していて、ymserv.netでサーバのトップページのindex.htmlは表示されます。

ipchainも知らない技術なので何もしていません。

Winから
telnet 192.168.1.2 22
ですと、ホストへの接続が失われましたと表示されます。
telnet myserv.net 22
ですと、接続できませんでしたと表示されます。

Linux側ではnetstatで
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
です。サービスの軌道の確認はこれでいいですか?
/etc/init.d/sshd restartで再起動もできます。

お礼日時:2005/10/13 00:09

ユーザー名をroot にしていませんか?


SSHの初期設定では、root でのリモートアクセスを禁止しています。(危ないので普通は禁止したままにします)

もしroot でしか試していないのならば、一般ユーザでやってみましょう。

また、WinSCPの一度目のアクセスでは、鍵の生成について尋ねる文章が出たと思うのですが・・・。

>WinSCPの3種のプロトコル

私の場合はSFTP(SCPの代替を許可)というものを使用しています。

この回答への補足

ありがとうございます。
sshd_confだったと思いますが、rootのログインがnoだったのをyesにしました。
Linuxのrootユーザも一般ユーザもWinSCPしましたが、どちらのユーザもWinSCPはタイムアウトしました。

Linuxで
$ ssh 127.0.0.1
を実行すると、何度か尋ねられ、yes、と答えたらユーザのホームに.X何とかという何かが作られたみたいですが、それでもWinSCPは変わりませんでした。

http://www.ex.media.osaka-cu.ac.jp/windows/winsc …
を見ると、ユーザ名とパスワードを入力すると秘密鍵のボックスが非活性になっているんですが、非活性にならないと異常なんですか?
Windowsには鍵を用意しておく必要はありますか?

補足日時:2005/10/12 12:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!