2013-04-13 1 views
17

  1. ホスト-1は
  2. は私がログインしたいリモートサーバーへのSSH接続を確立... SSHトンネルを経由して次の操作を実行することは可能ですリモートサーバーとSSHを介してコマンドをホスト1に戻す

ホスト1は私が直接アクセスできないデバイスです。 Host-1は、cron経由でリモートサーバーへのSSH接続を自動的に確立するように設定されています。 Host-1がRemote ServerへのSSH接続を確立している間は、SSH経由でHost-1のメンテナンスを行うためにRemote Serverにログインしたいと考えています。

可能であれば、これがどのように機能するかの例を探しています。このよう

+0

私はこれが仕事や実用的だろう方法の例を持っていないが、それは希望(余分な初期のコロンに注意してください)互いに干渉しないように2番目のssh接続のポートをシンプルに変更することで可能になります – brendosthoughts

答えて

25

オプション-Nは(有用転がっリモートシェルを残すことによる事故を防ぐため。)リモートから今

、あなたを「コマンドを実行していない」と言う

host1$ ssh -N -R 8822:localhost:22 remote.host.com 

このようにhost1へのSSHことができます(。しかし、唯一のループバックインターフェイス上の、ホスト1にリモートポート8822を転送)

remote$ ssh -p 8822 localhost 

余分な信用のために、あなたはエクスポートすることができます誰でもリモートのポート8822.を押すことでホスト1に取得できるように全世界への転送は、

host1$ ssh -N -R :8822:localhost:22 remote.host.com 
+0

まさに私が必要なもの! 'ssh -p -v 8822 localhost'を使って接続が確立されたことを確認することができます。次の問題を引き起こしていることを知っているとは思いませんか? debug1:localhost [127.0.0.1]ポート8822に接続しています。 debug1:接続が確立しました。 debug1:アイデンティティファイル/home/ubuntu/.ssh/id_rsaタイプ-1 debug1:アイデンティティファイル/home/ubuntu/.ssh/id_rsa-certタイプ-1 ssh_exchange_identification:接続がリモートホストによって閉じられました – Barry

+1

ソリューションを見つけました** ssh_exchange_id:リモートホストによって閉じられた接続**エラー。 'chmod 700〜/ .ssh'と' chmod 600〜/ .ssh/authorized_keys'の両方を実行してパーミッションを正しく設定してください。 – Barry