16

これはtrampを使用する上で非常に基本的な質問だと思いますが、私にはうまくいきません。Amazon ec2 マシンを指す ~/.ssh/config ファイルがあります

Host amazon
   Hostname xxxx.amazonaws.com
   Port yyy
   User me
   IdentityFile ~/.ssh/ubuntu
   ForwardAgent yes

端末から ssh amazon を簡単に実行でき、Amazon ec2 に移動します (構成が正しいため)。しかし、emacs では次のようにします。

C-x C-f /ssh1:amazon:

Aquamacs では常に次のエラーが発生します。

Process *tramp/ssh1 amz* exited abnormally with code 255

Emacs の場合:

tramp: Opening connection at amz using ssh1...
tramp: Waiting for prompts from remote shell
tramp: Waiting 60s for prompt from remote shell
tramp-process-actions: Login failed

ローカルマシン上の仮想ボックスにsshする他のssh構成もあり、同じ問題があります。

どんな助けでも本当に感謝しています。

4

3 に答える 3

39

試してみる価値のあることの1つは、sshx接続方法を使用することです。これにより、trampはリモートホスト上の非標準のシェル構成を回避しようとします。

このような:

C-x C-f /sshx:amazon:
于 2012-06-28T09:56:34.913 に答える
10

Tramp メソッドssh1は、パラメーター を使用して ssh v1 プロトコル モードで ssh を強制的に実行します-1。ssh v1 には既知の弱点があり、安全ではありません。そのため、多くのサイトが ssh v1 プロトコルを無効にしています。

を使用してシェルからこれを確認できますssh -1 me@xxxx.amazonaws.com

sshsftpまたはのような他のトランプ接続方法を試してくださいscpx。で事前設定されたすべての接続方法を確認できますC-h v tramp-methods

于 2012-03-28T09:13:36.133 に答える
6

Moritz Bunkus の回答で問題が解決しない場合は、tramp の出力の冗長性を次のように設定できます。
M-x customize-variable RET tramp-verbose RET

特に、レベル 6 は「送受信された文字列」であり、「リモート シェルからのプロンプトを待機中」の原因が、認識できるプロンプト パターンを受信して​​いないためか、より重大な障害によるものかを判断するのに役立ちます。

認識できないプロンプトを単に受け取っている場合は、tramp-login-prompt-regexpまたはtramp-shell-prompt-pattern変数をカスタマイズすることを検討してください。

(もちろん、ssh エージェントが正常に動作している場合、ログイン プロンプトは関係ありません。)

Windows で Emacs を実行している場合は、次の Q&A も参照してください。

于 2012-03-28T10:50:06.993 に答える