• 締切済み

SSHで多段接続

hiroaki101の回答

回答No.1

こんにちは。ターミナルまたはプロンプトを2枚開いて、以下のsshコマンドをそれぞれで順番に実行し、ブラウザでhttp://localhost:2080を開くとどうなるでしょうか。sshserver1は最初に通過するSSHサーバ、sshserver2はウェブ・FTPサーバの側のSSHサーバです。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 2080:httpserver.example.com:80 localhost お手元のコンピュータで1024以下のポートを開くには管理者権限が必要かもしれませんので、それ以上のポートをlocalhostに開くようにしています。まず2つ目のsshサーバまでトンネルを作成し、そのトンネル(localhost:2022/tcp)を通して2つ目のsshサーバにログインし、ウェブサーバまでトンネル(localhost:2080 -> httpserver.example.com:80)を作らせようとしています。これでウェブサーバにアクセスできると思います。 なお、ログイン先でシェルを開かなくてもいいのでしたら、 ssh -l (user1) -L 2022:sshserver2.example.com:22 -N sshserver1.example.com & と"-N"を付ければバックグラウンドで動作するでしょう。 FTPサーバの場合、sshトンネル経由でPORTモードで接続するのは無理だと思います。また、PASVモードが可能だとして、データコネクション用PASVポートをサーバ側で(例えば5000/tcpとして)決め打ち指定できないと難しいでしょう。もしそれが可能でしたら、以下のようにトンネルを作成し、ftp://localhost:2021にアクセスしてみて下さい。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 2021:ftpserver.example.com:21 -L 5000:ftpserver.example.com:5000 localhost そのFTPサーバでもsshサーバを動かしてもらい、ftpの代わりにscpを使うような方策も考えられます。リモート側での移動・削除などはシェルコマンドで行うことになります。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 3022:ftpserver.example.com:22 localhost 3)scpコマンドは(Linux/Unix等の場合):   scp -P 3022 -v -C ./some.txt user@localhost:/home/user/some.txt (こちらからコピー)   scp -P 3022 -v -C user@localhost:/home/user/some.txt ./some.txt (こちらへコピー) http経由でサーバ上のファイルを操作するようなサーバソフトをFTPサーバにインストールして利用する方法もあります。この場合、FTPサーバのホスト向けにhttpアクセス用のSSHトンネルを作って操作できると思います。 http://webos-goodies.jp/archives/51040374.html http://mizushima.ne.jp/Linux/Webmin/Webmin.php ところで、「最終行き先へのプロトコルのレスポンス」と書かれていますが、具体的に何が必要なのか分りませんでした。ターミナル等のエラー出力でしょうか。

jennifer0hewitt
質問者

補足

ご返答遅れて申し訳ございません。 詳しい説明ありがとうございます…がCUI入力は苦手で、SSHコマンドを 勉強することから始めないと理解が難しいようです。 「最終行き先へのプロトコルのレスポンス」とは、 クライアント側でhttpであればブラウザ、ftpであればftpソフト(FFFTP等)を 使うことをイメージしていますので、それに必要なレスポンス、という意味です。 机上の想像の域なので、単純に「できるもんなの?」という疑問です。 とはいえ実状として、IP制限がかかっているので、どうにかして解決できないか 思案中です。

関連するQ&A

  • 多段SSHでのrsyncについて

    localとBとをrsyncする方法について。 localから仲介サーバへは秘密鍵で認証させています。 ポートフォワーディングで下記のように接続し、 ssh -t -L ポート番号:サーバA:ポート番号 ユーザ名@サーバA ssh -t -L ポート番号:サーバB:ポート番号 ユーザ名@サーバB 接続されたポート番号からrsyncを実行すればうまくいくのでは?と思い 実行してみたのですが不明点がありうまくいきません。 不明点は、秘密鍵の認証をどこに記述すればよいのか・・・です。 ssh -i 秘密鍵path ユーザ名@サーバ ↑これを多段SSHのポートフォワーディングではどのように加えればいいのか・・・。 そもそも↑で提示しているポートフォワーディングのコマンド自体に誤りがあるかもしれません。 上記に対してのアドバイス、もしくは他の方法の提案等をして下さると幸いです。 宜しくお願い致します。

  • www,ftpは接続できるが sshのみ接続できない。

    余ったPCにdebianをインストールし、サーバを運用しようと考えています。 ルータのポートマッピングはwww,ftpdata,ftp,sshのみ設定し、外部からサービスを使いたいと考えています。 しかし、不思議なことにwww,ftpは接続できるのですが、 sshのみconnection time out で接続できません。 またダイアルアップ接続でsshログインを試したところ、こちらからは正常に接続できました。 問題切り分けのため、ポートフィルタリングはルータではデフォルト、サーバではiptablesなしにしてあります。 タイムアウトになったsshのログはサーバにはありませんでした。 またnmapのデフォルトスキャンではfilteredになっていました。 環境によって接続できるできない場合があるのでしょうか? もしご存知の方回答をよろしくお願いします。 回線はUSENのマンションVDSLタイプです。 接続環境は以下のようになっています。 リモートPC[ダイヤルアップorLAN] ↓(インターネット) FTTHモデム(標準的なATERMです) ↓(LAN) スイッチングハブ(100M) ↓(LAN) Debianサーバ

  • クライアントPCの端末からからssh 接続

    クライアントPCの端末からからssh 接続をするためには? ○質問の主旨 WindowsのTeraTermをターミナルソフトとして、 Linuxのサーバー上にある SSHサーバーに接続したいと考えています。 そのときの接続コマンドは、以下の通りです。 $ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server user→一般ユーザーの名前 22→ポート番号 home/user/.ssh/authorized_keys→公開鍵のパス名 server→SSHサーバーのホスト名 参考サイト http://dogmap.jp/2011/10/27/ssh_config/ しかし、上記のコマンドで接続しようとすると 下記のように叱られて、接続することができません。 Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. ssh_exchange_identification: Connection closed by remote host どのように接続するためにはどのように対処すれば よろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 現在、SSHサーバーへのアクセス制御は以下のように設定しています。 #vi /etc/hosts.deny sshd:all #vi /etc/hosts/hosts.allow sshd:(サーバーのIPアドレスのみ記述) #vi /etc/ssh/sshd_config MaxStartups 10 (#MaxStartupsとコメントにされていたので#を削除) 参考サイト http://wsjp.blogspot.jp/2012/08/sshexchangeidentification-connection.html また一般ユーザーのホームディレクトリの下に .sshと言う名前のフォルダを使って、 authorized_keysという名前のファイルに 公開鍵で使用する文字列を書き込んでいます。 ○環境 クライアントPC:windows8.1 ターミナルソフト:TeraTerm Pro サーバー:Linux(CentOS6.0)

  • 仮想OS(Ubuntu)にSSH接続ができない

    初めまして、2日間いろいろ調べて実行してみましたが、お手上げの状態となりましたので、質問させて頂きます。 windows7PCに、VirtualBoxでubuntu13.10を入れて、SSH接続をしようとしています。 ところが、teratermでもPuttyでも、「接続が拒否されました」と言われます。 以下の設定をしています。 ++++++++++++++++++++++++++++++++++++++++++++++++++ ・openssh-serverのインストール ・/etc/ssh/sshd_config で以下の設定 ********************* PasswordAuthentication no PermitRootLogin no PermitEmptyPassword no ********************* ・キーペアの作成(ゲストOS側:authorized_keys、ホスト側:id_rsa) ・Puttyの設定(id_rsaの読み込みも成功、他の設定についてはいろいろなサイトで教示してある通りにやっているので、間違いはないと思います。) ⇒この状態でも、「接続が拒否されました」となります。 また、VBoxでポートフォワードの接続もしています。 (プロトコルTCP、ホストポート2222、ゲストポート22) ・sudo /etc/init.d/ssh restart で毎回手動で実行させています。 ・ホストOSのコマンドプロンプトからのpingは成功します。 ・Ubuntu側のファイアウォールは非アクティブになっています。 ・なお、vftpdも合わせてゲスト側にインストールしているのですが、ホスト側からFTP接続すると、「接続されていません」となってしまいます。根本的な原因はSSHが成功しない原因と同じように思います。 ++++++++++++++++++++++++++++++++++++++++++++++++++ これ以上、何を確認してよいのか分からなくなり、投稿させて頂きました。 何卒ご教示の程お願いいたします。

  • SSH接続ができません

    はじめましてよろしくおねがいします。 [仕様] ブロードバンド --- サーバーFedora Core5   ルータ    |   (サービス httpd           |         sshd           |         telnet           |         ftp )            |           |-クライアント1(win)          |- (略)          -クライアント5(win)  ルータ設定で、サーバーIPに対して  80.20.21.22.23.443ポートを開放  LAN内は固定プライベートIP  グローバルIPに対して、ドメイン取得済み  sshd_confはrootログイン禁止以外デフォルト  SELinuxにて上記サービスについて許可 [症状] 上記仕様にて、外部よりSSH、及びTelnet接続できません。 LAN内クライアントからプライベートIPでは接続できます。(SSH,Telnet) 同クライアントからグローバルIP、及びドメインでは接続できません。(SSH,Telnet) 外部からWeb、FTP接続は、グローバルIP、ドメイン共に問題ありません。 ポートについてはhttp://www.cman.jp/network/support/port.html にて外部より開放されていることの確認はしています。 わかり辛い表現あるかと思いますが、上記の症状について、なにか問題点等わかる方いらっしゃいませんでしょうか? 些細なことでけっこうですのでチェックすべきところ等ご教示いただければ幸いです。 どうぞ よろしくおねがいします。

  • さくらレンタルサーバーへPoderosaでSSH接続ができません。

    さくらレンタルサーバーへPoderosaでSSH接続ができません。 特定のサーバーで申しわけありません。 サポートに問い合わせても、私の理解不足のため上手くいかなかったため、助言をお願いしたく思います。 さくらレンタルサーバーのスタンダードプランはSSH対応とのことですが、上手く接続出来ている方、もしくは詳しい方助言頂けましたら幸いです。 Poderosaというツールをダウンロードして、サーバー情報を入力すると 「○○.sakura.ne.jp のポート 22 への接続ができませんでした。」というエラーが出てしまいます。 色々とホストやアカウントを変えてみても同じエラーが出ます。 [Poderosa 4.1.0] ホスト: ○○.sakura.ne.jp プロトコル: SSH2 ポート: SSH(22) アカウント: ○○ パスフレーズ: FTPと同じパスワード OK ↓ [接続エラー] ○○.sakura.ne.jp のポート 22 への接続ができませんでした。 ◆サーバー環境 さくらレンタルサーバー スタンダードプラン ◆接続環境 EMobile WindowsVista ◆背景 OpenPNEの導入にSSHを用いたいからです。 ◆参考 http://support.sakura.ad.jp/support/manual/rs/tech_ssh.shtml 宜しければ教えて下さい。

  • SSHでの接続が不安定

    SSHでの接続が不安定 fedora11で鍵交換方式による認証でリモートログインするSSHサーバを建てた のですが、どうも接続が不安定です。 クライアント(Windows XP)でPutty、Poderosaなどでログインしようとすると、 ポート22番ではじかれてしまい、エラーウィンドウが表示されます。 ポート開放チェックサイトでは、22番にはアクセスできると表示されているのですが、 どうもうまくいきません。 しかし、この状態で何もいじらないで30分ほど放置し、再びログインしようとすると、 ターミナルに 「login as:」と表示され普通に接続可能になります。 なぜ、このようになるのかわかりません。 考えられる理由程度でよいので、よろしくお願いします。

  • WindowsからMacOSXにSSHログインできない

    puttyを使ってLAN上のMacOSXへsshログインしようとすると 「ネットワークエラー接続が拒否されました。」 となります。そこでLinuxからためしてみましたら ssh 192.168.0.3 ←マックのアドレス ssh: connect to host 192.168.0.3 port 22: Connection refused このようにやはり接続できません。どうしたら接続できますでしょうか? ちなみに、マック側からはLinuxマシンにssh接続できるのですが‥ port 22: Connection refused と出るのでポートを開ければ良いのかとは思うのですが、開け方がわかりません。よろしくお願いします。

  • SSHやFTPが外部から接続できません

    どうもです。 OSに Red Hat Enterprise Linux version 4 をインストールしました。 インストールすると、デフォルトでOpenSSHとftpが入っており、 そのサービスも起動しています。 この状態でローカルマシンから、sshおよびftpは接続できるのですが、 同一LANに存在する他のWidnowsクライアントからsshで接続すると 「Connect refused」となります。 ftpに関しては、パスワードが違うとエラーになります。(root以外の別のアカウントにて) いろいろなことを試みていますが、未だに接続できず困っています。 どういった部分をチェックすればよいか、ご教授お願いします。 ・windowsクラアントから TeraTerm(SSH)にて接続を試行 ・windowsクラアントから ffftpにて接続を試行 ・xinetdからの起動ではないようです。 ・/etc/hosts.allow ファイルに記載なし。  → 例えば、192.168.1.0/24 と追加しても変化ありません。

  • mac osでインターネット越しのSSH接続

    環境は以下になります。 [Server] :MAC OS 10.5 [Client] :windowsXP :putty(ターミナルソフト) 内部LANからSSH接続は成功したのですが、取得したドメイン名でSSH接続を試みると、「ネットワーク接続が拒否されました」と表示されます。 以下のwebサイト(ポート解放確認http://www.cman.jp/network/support/port.html)でhost名を取得したドメイン名にして、ポート22を指定して、ポートチェックをクリックすると、「ホスト=****.com ポート=22 にアクセスできました」と成功します。 FirewallもDefault設定で全て許可しています。 また、ルータでPortForwardingも設定しております。 私はMAC OSは初心者でして、この先、いくら調べても接続されず困っております。解る方がいましたらアドバイスを下さい。 宜しくお願い致します。