首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SSH代理中自动加载带有密码的SSH密钥

如何在SSH代理中自动加载带有密码的SSH密钥
EN

Stack Overflow用户
提问于 2018-08-12 12:44:25
回答 1查看 1.6K关注 0票数 2

我每个git存储库都有一个SSH密钥。我在Bitbucket和Gitlab中都有存储库。我在Ubuntu18.04 LTS下。如果我在ssh-add中使用这些密钥,它就能工作,但我不想每次都使用ssh-add所有的密钥及其密码。我最多只想在Ubuntu做一次。下面是我配置中有趣的部分,我绝望地将其放入/etc/ssh/ssh_config中,以确保没有权限问题:

代码语言:javascript
运行
复制
AddKeysToAgent yes

Host git@bitbucket.org:mysthiq/blog.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/Blog/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/guetzlifolder.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/GuetzliFolder/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/portfolio.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/portfolio/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/framework-cms.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/portfolio/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/medoucine.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/medoucine/cle-ssh-linux
    IdentitiesOnly yes

Host git@gitlab.wexample.com:oef/contests.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/vinalies1.3/cle-ssh-linux
    IdentitiesOnly yes

Host git@gitlab.wexample.com:oef/mobile_v1.3.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/oef/mobile/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/phpbench.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/phpbench/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/prevandcare.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/PrevAndCare/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/sfboilerplate.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/sfBoilerPlate/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/sitesize.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/SiteSize/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/vinalies.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/vinalies/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/vinalies1.3.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/vinalies1.3/cle-ssh-linux
    IdentitiesOnly yes

Host git@bitbucket.org:mysthiq/vinciaprep.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/vinciaprep/cle-ssh-linux
    IdentitiesOnly yes

Host git@gitlab.wexample.com:wexample-public/scripts.git
    UseKeychain yes
    HostName bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/Wexample/cle-ssh-linux
    IdentitiesOnly yes

如果我知道如何快速测试我的ssh配置,而不需要每次更改时重新启动ubuntu,我也会很高兴的。(目标是将这些项目与PHPStorm一起使用。)

EN

回答 1

Stack Overflow用户

发布于 2018-08-12 21:08:33

不是100%确定,但您的SSH代理需要知道哪个SSH密钥用于那个特定的回购,这不能是一个自动的过程,因为安全方面的考虑。要用不同的SSH键重新初始化它,每次可以运行这个命令eval "$(ssh-agent -s)",然后为回购ssh-add <SSH-key-name>添加SSH键。使用这种方式,您无需重新启动计算机。希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51808958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档