公開鍵認証を使用した SSH 経由でしかリモート ホストにアクセスできない場合、ローカル Emacs を使用してリモート ホスト上のファイルを編集するにはどうすればよいですか? Tramp は通常のパスワード ログインをかなりうまく処理しますが、キー ペアで機能させる方法がわかりません。両端で unix/linux を使用しています。
3 に答える
に相当する TRAMP はありませんssh user@host -i private-key.pem
。ただし、シェル コマンドを実行するssh-add private-key.pem
と、ssh (したがって TRAMP) は自動的private-key.pem
に認証に使用します。単にssh user@host
シェルで動作し、ファイルを開くと/user@host:~/filename.txt
、パスワードの入力を求めることなく、emacs で動作します。
Tramp は公開鍵認証の SSH 接続で完全に機能するため、あなたの質問はわかりません。たとえば、 で次の構成を設定したとします~/.ssh/config
。
Host remotehost
User mylogin
Port 22
Hostname remotehost.fqdn
ターミナルで正しく実行できると仮定するとssh remotehost
、TRAMP Cx Cf を使用してリモートファイルを開くことができます/remotehost:path/to/file
Windows を使用している場合は、plink をtramp で簡単に使用できます。plink バイナリがパスにあることを確認し、変数 (Mxcustomize-option) のtramp-default-method を plink にカスタマイズする必要があります。
キーを追加するように pageant を構成する方法については、パテのホームページをお読みください。
プロファイル名を使用するメソッド plinkx もあります。
C-x C-f /putty_profile:
putty に保存されたプロファイル名から putty_profile を取得します。
Linux を使用している場合、通常、最新のディストリビューションには、グローバル SSH エージェントで X を開始する gnome キーリング (名前も seahorse) が必要です。私のdebianディストリビューションの例:
chmouel@lutece:~$ ps aux|grep ssh-agent
chmouel 2917 0.0 0.0 4904 552 ? Ss Aug30 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute x-session-manager
ssh-add を実行すると ( ~/.ssh に ID が適切に構成されていることを確認してください)、パスワードが要求され、すべての X セッションが識別されます。
発生しない場合は、ディストリビューションのどこかに問題がある可能性があります。