SSHを使用して大学のafsシステムにアクセスしています。SSHトンネリングを必要とするrmate(リモートTextMate)を使用するのが好きなので、このエイリアスをに含めました.bashrc
。
alias sshr=ssh -R 52698:localhost:52698 username@corn.myschool.edu
それは今まで常に機能してきました。
SSHを使用して大学のafsシステムにアクセスしています。SSHトンネリングを必要とするrmate(リモートTextMate)を使用するのが好きなので、このエイリアスをに含めました.bashrc
。
alias sshr=ssh -R 52698:localhost:52698 username@corn.myschool.edu
それは今まで常に機能してきました。
私も同じ問題を抱えていました。すでに開いているポートを見つけるには、「corn.myschool.edu」コンピューターで次のコマンドを発行する必要があります。
sudo netstat -plant | grep 52698
そして、これを思いついたすべてのプロセスを強制終了します(xxxxをプロセスIDに置き換えます)
sudo kill -9 xxxx
(更新:オプションを変更して、-plant
ニーモニックとして使用できるようにしました)
別のSSH接続を開いていました。SSHトンネルを開く前に、その接続を閉じる必要がありました。
詳細説明: 1つのssh接続が確立されると、後続の接続で次のメッセージが生成されます。
警告:リッスンポート52698のリモートポート転送に失敗しました
転送は1回しか設定できず、同じマシンへのすべてのssh接続に対して1つの転送が機能するため、このメッセージは無害です。転送を開いた元のsshセッションは、シェルを終了したときに、すべてのリモート編集セッションが終了するまで開いたままになります。
この問題が発生しましたが、sudo特権を持たないサーバーに接続しているときに発生したため、実行を示唆する上位の応答sudo netstat ...
は実行できませんでした。
最終的には、実行中のrmateのインスタンスがまだ存在するためであることがわかりました。そのためps
、実行中のプロセスを一覧表示してからkill -9 pid
(pidはrmateのプロセスID)をリストしていました。
これにより、ここで報告された私の問題も解決しました。この通知を回避するには、SSH構成で「AllowTcpForwarding」を有効にする必要があります。
私の場合、問題は、リモートシステムにDNSが適切に設定されておらず、自身のホスト名を解決することさえできないことでした。リモートシステムの/etc/resolv.confにDNSが機能していることを確認してください。