認証にsshキーを使用すると、特定のホストに対するトランプに問題があります。 ssh-key認証を使用しない場合は正常に機能しますが、パスワードを常に入力しないようにしたいと思います。
関連するかどうかはわかりませんが、シェルにはzshを使用しています。
Tramp-chunksizeを500に設定することと、次のコードを.zshrcに追加することの両方のヒントに従いました。
if [[ "$TERM" == "dumb" ]]
then
unsetopt zle
unsetopt Prompt_cr
unsetopt Prompt_subst
unfunction precmd
unfunction preexec
PS1='$ '
fi
しかし、それは機能しておらず、メッセージ「トランプ:リモートシェルからのプロンプトを待っています」でハングしています。
この厄介な問題を防ぐ方法についてのアイデアはありますか?ありがとう。
私にとってTramp2.1.19-pre withzshおよびSSHkye認証は
(setq tramp-Shell-Prompt-pattern "^[^$>\n]*[#$%>] *\\(\[[0-9;]*[a-zA-Z] *\\)*")
私の〜/ .emacsで
トランプがパスワード認証では機能するがキー認証では機能しない場合、リモートシェルがどのように問題になるかわかりません。
考えられる理由は、Emacs内から実行したときにssh
がsshエージェントを認識しないことです。 M-x Shell
またはM-x term
バッファからssh
を使用してキーを使用してリモートマシンにログインできますか?キーにパスフレーズがある場合、ssh
は何らかの方法で復号化されたキーを取得する必要があります。直接プロンプトを表示することも(ただし、トランプがキーにプロンプトを表示するかどうかはわかりません)、外部プログラムを起動してキーの入力を求めることもできます(これには、環境変数SSH_ASKPASS
を設定する必要があります)。 、またはsshエージェントからキーを取得できます(これには、環境変数SSH_AUTH_SOCK
を設定する必要があります)。問題は、SSH_ASKPASS
またはSSH_AUTH_SOCK
を適切な場所に設定していないため、Emacsセッションで定義されていない可能性があります。
質問は回答済みですが、これに遭遇した人は、シェルを提示する前に、シェルがユーザー入力を要求する可能性があるかどうかを確認することを忘れないでください。たとえば、 oh-my-zsh 更新を確認し、シェルの起動時にインストールする前に確認を求めます。これにより、トランプはプロンプトを際限なく待つことになります。そのため、トランプのウサギの穴を降りる前に、sshを実行するときにログインがスムーズに行われることを確認してください。