web-dev-qa-db-ja.com

ssh操作が常にパスフレーズを要求するのはなぜですか? (ed25519を使用)

Sshキーを更新し、パスフレーズを追加しましたが、git(またはMercurial hg)Pushを実行するときなど、現在は常にそれを要求します。 ssh-agentが実行されています:

xxx  1303  1118  0 09:16 ?  00:00:00 /usr/bin/ssh-agent
   /usr/bin/dbus-launch --exit-with-session 
   /usr/bin/im-launch mate-session

ssh-addを試しました:

> ssh-add
Identity added: /home/…/.ssh/id_rsa (/home/…/.ssh/id_rsa)
Enter passphrase for /home/…/.ssh/id_ed25519: 
Could not add identity "/home/…/.ssh/id_ed25519": 
    communication with agent failed

何が欠けている? 16.04重要な場合に備えて、Ubuntu Mate。

7
Gringo Suave

2018年編集:

これはgnome-keyringで wrsh ssh-agent によって解決されたため、回避策はもう必要なく、すべてがそのまま動作するはずです。

古いシステムの元の回避策:

/run/user/1000/keyring/sshはGnomeキーリング(タツノオトシゴ)のパスで、Ed25519キーをサポートしていません。次の2つの可能性があります。

  1. ED25519キーを使用せず、RSAを使用します(これで十分です)。

  2. スタートアップスクリプトで実際のssh-agentを実行します(~/.xsession

    eval `ssh-agent`
    
8
Jakuje