Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何在SSH代理中使用密码短语自动加载SSH密钥_Git_Ssh_Passphrase - Fatal编程技术网

Git 如何在SSH代理中使用密码短语自动加载SSH密钥

Git 如何在SSH代理中使用密码短语自动加载SSH密钥,git,ssh,passphrase,Git,Ssh,Passphrase,我每个git存储库有一个SSH密钥。我在Bitbucket和Gitlab中都有存储库。我在Ubuntu 18.04 LTS下。如果我在ssh add中使用这些密钥,它可以工作,但我不想每次都ssh添加我的所有密钥及其密码短语。我最多只想在Ubuntu开始时做一次。下面是我的配置中有趣的部分,我在绝望中放入了/etc/ssh/ssh\u config,以确保没有权限问题: AddKeysToAgent yes Host git@bitbucket.org:mysthiq/blog.git

我每个git存储库有一个SSH密钥。我在Bitbucket和Gitlab中都有存储库。我在Ubuntu 18.04 LTS下。如果我在
ssh add
中使用这些密钥,它可以工作,但我不想每次都
ssh添加
我的所有密钥及其密码短语。我最多只想在Ubuntu开始时做一次。下面是我的配置中有趣的部分,我在绝望中放入了
/etc/ssh/ssh\u config
,以确保没有权限问题:

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一起使用。)

不是100%确定,但您的SSH代理需要知道用于特定repo的SSH密钥,并且由于安全问题,这不能是一个自动过程。要每次使用不同的SSH密钥重新初始化它,可以运行此命令
eval“$(SSH代理-s)”
,然后为该repo添加SSH密钥
SSH add
。使用这种方式,您无需重新启动计算机。希望这有帮助。

我现在已经使用了类似的命令,但我每天至少重新启动一次我的机器,因为这台机器不是服务器,而是我的个人笔记本电脑,所以这对我没有帮助:)