如何ssh添加椭圆曲线密钥?

如何ssh添加椭圆曲线密钥?

我正在尝试将新生成的椭圆曲线密钥与 GitLab 的 git 版本控制一起使用。

  • 我使用的是 Xubuntu 16.04。
  • 我的 OpenSSH 版本是:OpenSSH_7.2p2 Ubuntu-4ubuntu2.4,OpenSSL 1.0.2g 2016 年 3 月 1 日

通常我会这样做:

ssh-add -D  # to be sure no other identities are used than the one I add
ssh-add ~/.ssh/my-rsa-key
git add ...
git commit ...
git push ...

然后,密钥环会再次要求密钥的密码来存储会话的密钥,我可以进行推拉操作,而无需再次添加任何密钥或再次输入密码。

然而,对于椭圆曲线键,它似乎不起作用。首先,我无法获取ssh-add密钥:

ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/user/.ssh/id_ed25519:  # here I enter my password
Could not add identity "/home/user/.ssh/id_ed25519": communication with agent failed

但是,当我没有删除所有身份并且没有使用ssh-add <key>并取消输入其他(rsa)密钥的密钥环密码时,系统要求我在命令行上输入椭圆曲线密钥的密码,当我在那里输入时,我可以推送到我的存储库或从我的存储库中提取。那么问题是,我必须在每次与 gitlab 和我的存储库交互时输入密码。所以我尝试将我的配置设置~/ssh/config为不始终提示输入密码:

Host gitlab.com
  User "user"
  PreferredAuthentications publickey,password
  IdentityFile /home/user/.ssh/id_ed25519
  IdentitiesOnly yes
  AddKeysToAgent yes

但这也不起作用,它会在每次拉或推时不断提醒我密码。

如何像使用 RSA 密钥一样添加密钥,这样我就不必一直输入密码?

相关内容