2009-08-30 23 views
30

リモートホストにアクセスできるときにローカルEmacsを使用してリモートホスト上のファイルを編集するには公開鍵認証でSSH経由でのみ? Trampは通常のパスワードログインをうまく処理しますが、キーペアを使用する方法を理解できません。私は両端にunix/linuxを使用しています。公開鍵認証を使用してEmacsでリモートファイルを編集する

+0

TRAMP Cx Cfと使用してリモートファイルを開くことができます私は公開鍵認証でTRAMPを使用します。何が間違っているのか(そして使用しているEmacsのバージョン)についてちょっと説明してください。 TRAMPはSSHを呼び出すだけなので、まず "ssh yourname @ yourhost"が公開鍵ログインで期待どおりに動作することを確認します。 – Phil

+1

ありがとう、あなたの質問は私に正しい道を指示し、私は問題を解決しました(もっと適切にSSHを使うことを学んでいました)。しかし、私はまだSSHの識別ファイルが非標準の場所にあるときにTrampを使う方法を知りたいので、SSHの '-i'コマンドラインオプションを使う必要があります。 – pico

+1

ssh-addを使用してIDファイルを追加できます。 – remvee

答えて

30

ssh [email protected] -i private-key.pemに相当一切TRAMPはありません。しかし、シェルコマンドssh-add private-key.pemを実行すると、ssh(したがってTRAMP)は自動的にprivate-key.pemを認証に使用します。単純にssh [email protected]がシェルで動作し、ファイル/[email protected]:~/filename.txtを開くと、パスワードを要求されずにemacsで動作します。

+5

'〜/ .ssh/config'ファイルを使用してキーを管理する場合は、[@Sebastien](http://stackoverflow.com/a/10738277/881224)の答えを参照してください。 – Droogans

1

Windowsの場合は、簡単にトランプを使用してplinkを使用できます。 plinkバイナリがあなたのパスにあることを確認して、変数(M-x customize-option)をカスタマイズする必要があります。tramp-default-methodをplontに設定してください。

あなたのキーを追加するためにパテントを構成する方法については、パテのホームページをお読みください。

C-x C-f /putty_profile: 

それはあなたのパテ保存されたプロファイル名からputty_profileを取得します:

あなたが行うときにプロファイル名を使用するだけでなく、メソッドplinkxがあります。

Linuxを使用している場合、通常は近代的なディストリビューションは、グローバルSSHエージェントでXを起動する(だけでなくタツノオトシゴという名前)のGNOMEキーリングを持っている必要があります。私のDebianディストリビューションの例:

c[email protected]:~$ 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-追加(あなたが適切に設定され、あなたの〜/ .sshにアイデンティティを持っていることを確認すること)を行う場合、それはあなたのパスワードを要求し、すべてのXセッションのために識別する必要があります。

もしあなたがおそらくあなたのディストリビューションのどこか他の場所で問題を抱えていると思われます。

13

Trampは、公開鍵で認証されたSSH接続でうまく動作するので、私はあなたの質問をしません。たとえば 、あなたが~/.ssh/configで次の設定を設定していると仮定すると:

Host remotehost 
    User  mylogin 
    Port  22 
    Hostname remotehost.fqdn 

を、あなたはターミナルで正しくssh remotehostを実行できると仮定して、あなたは/remotehost:path/to/file

+3

これは良い答えでした。ちょうど 'IdentityFile〜/ .ssh/identity-file'を追加しなければなりませんでした – Alex

関連する問題