你如何让SourceTree / SSH忘记你的SSH密钥? (我必须手动重新运行'ssh-add'才能让它再次运行!) [英] How do you keep SourceTree/SSH from forgetting your SSH keys? (I have to manually re-run 'ssh-add' to get it to work again!)

查看:3303
本文介绍了你如何让SourceTree / SSH忘记你的SSH密钥? (我必须手动重新运行'ssh-add'才能让它再次运行!)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新 - 它再次发生了!!!



好吧,这就是 AGAIN ! MAN是令人沮丧的!但是这一次我深入挖掘了一下,发现出于某种原因,我的私钥被卸载了。



具体来说,当我调用这个...

  ssh-add -l -E md5 

我得到这个...

 代理没有身份。 

但是,如果我然后运行此...

  ssh-add /Users/[username]/.ssh/[private key] 

一切都可以再次运作! SourceTree就像它应该连接的一样。



问题是 为什么我必须继续运行'ssh-add'命令?为什么它会一直忘记我的钥匙?

正如其他地方所提到的,不知道这是否有所作为,但我正在运行MacBook Pro与高山脉,虽然这也发生在Sierra。



原始发布:



这个有我都难倒了,而且很烦人! SourceTree(或ssh或其他!)每天都会忘记/不应用/忽略我的SSH密钥!我不知道为什么。


注意:已更新为使用BitBucket的信息而不是GitHub。


以下是我当前的 config 文件的相关部分

 #--- Sourcetree生成--- 
主机MarqueIV-Bitbucket
HostName bitbucket.org
用户MarqueIV
PreferredAuthentications publickey
IdentityFile /Users/MarqueIV/.ssh/MarqueIV-Bitbucket
UseKeychain yes
AddKeysToAgent yes
#-------------- --------------

这是我的'ls' 〜/ .ssh文件夹(截断)

  -rw-r  -  r  -  @ 1 MarqueIV staff 421 Dec 14 11: 25配置
-rw-r - r - @ 1 MarqueIV员工1808 Dec 9 14:20 known_hosts
-rw ------- 1 MarqueIV员工3243 Dec 6 23:33 MarqueIV- Bitbucket
-rw-r - r-- 1 MarqueIV staff 781 Dec 6 23:33 MarqueIV-Bitbucket.pub

在这里我的 known_hosts 文件(键编辑)

  bitbucket.org, 104.192.143.3 ssh-rsa [redacted] 
bitbucket.com,104.192.143.9 ssh-rsa [redacted]
104.192.143.2 ssh-rsa [redacted]




注意:不确定这是否重要,但您可以看到第1行和第2行似乎是重复的。


以下是输出 ssh -Tv git@bitbucket.org

  OpenSSH_7.6p1,LibreSSL 2.6.2 
debug1:读取配置数据/Users/MarqueIV/.ssh/config
debug1 :读取配置数据/ etc / ssh / ssh_config
debug1:/ etc / ssh / ssh_config第48行:为*
应用选项debug1:连接到bitbucket.org端口22.
debug1:Connection成立。
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_rsa类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_rsa-cert类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_dsa type - 1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_dsa-cert类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_ecdsa类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_ecdsa-证书类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_ed25519类型-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/Users/MarqueIV/.ssh/id_ed25519-cert类型-1
debug1:Loc al版本字符串SSH-2.0-OpenSSH_7.6
debug1:远程协议版本2.0,远程软件版本conker_1.0.315-a08d059 app-153
debug1:不匹配:conker_1.0.315-a08d059应用153
debug1:以'git'身份验证bitbucket.org:22
debug1:SSH2_MSG_KEXINIT发送
debug1:SSH2_MSG_KEXINIT收到
debug1:kex:算法:curve25519-sha256@libssh.org
debug1:kex:主机密钥算法:ssh-rsa
debug1:kex:server->客户端密码:aes128-ctr MAC:hmac-sha2-256-etm@openssh.com压缩:无
debug1:kex:client->服务器密码:aes128-ctr MAC:hmac-sha2-256-etm@openssh.com压缩:无
debug1:期望SSH2_MSG_KEX_ECDH_REPLY
debug1:服务器主机密钥: ssh-rsa SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A
debug1:主机'bitbucket.org'是已知的并且与RSA主机密钥匹配。
debug1:在/Users/MarqueIV/.ssh/known_hosts:1
找到密钥b debug1:在4294967296块后重新密钥块
debug1:SSH2_MSG_NEWKEYS发送
debug1:期待SSH2_MSG_NEWKEYS
debug1:SSH2_MSG_NEWKEYS收到
debug1:在4294967296块之后重新密钥
debug1:收到SSH2_MSG_SERVICE_ACCEPT
debug1:可以继续的身份验证:publickey
debug1:下一个验证方法:publickey
debug1 :提供公钥:RSA SHA256:h + 6zCXg32Uw4fYxSUMwYst3zee8RFb9Z47H1QUTz58E /Users/MarqueIV/.ssh/MarqueIV-GitHub
debug1:可以继续的身份验证:publickey
debug1:尝试私钥:/ Users / MarqueIV /。 ssh / id_rsa
debug1:尝试私钥:/Users/MarqueIV/.ssh/id_dsa
debug1:尝试私钥:/Users/MarqueIV/.ssh/id_ecdsa
debug1:尝试私钥:/Users/MarqueIV/.ssh/id_ed25519
debug1:没有更多的身份验证方法可以尝试。
git@bitbucket.org:权限被拒绝(publickey)。

看看它是如何应用 config中定义的键 known_hosts ?似乎会是一个问题,没有?


注意:我正在使用macOS Sierra,并且我更新了路径以包含<在 / usr / local / bin 之前的code> / usr / bin 此处。如果我不这样做,我得到一个错误,说ssh无法识别配置中的 UseKeychain yes


因此,几乎每天都是我必须经历的常规。我将使用GitHub作为示例。


  1. 我打开SourceTree并尝试从GitHub中获取最新版本。 'git@github.com:Permission denied(publickey)'message。


  2. 我从SourceTree中移除我的GitHub帐户。


  3. 我从机器上的.ssh文件夹中删除了GitHub的公钥和私钥。

  4. >我去GitHub并从我的账户中删除我的旧公钥。 返回SourceTree,我用我的用户名和密码再次登录到GitHub。
  5. p>我将我的公钥复制到我的GitHub帐户的SSH区域。 (有时候我注意到它为我添加了它,但我喜欢安全并仔细检查。)

  6. 现在我可以再次推和拉。

我今天回家并在家登录。它再次失败。重复上述所有步骤。



如何获得SourceTree / ssh /记住我的da * n个密钥,所以我不必每次都这样做我改变位置?我缺少什么步骤?



所以任何人都可以提供关于如何制作SSH密钥'stick'的建议吗?

解决方案

好的,我想我已经找到了所有的部分。



为了帮助人们获得他们想要的东西,先来看看解决方案:


  1. 确保您要自动加载的密钥在您的 config 文件中配置,并且 UseKeychain AddKeysToAgent set

  2. 确保从终端连接到配置定义的主机

  3. 创建一个LaunchAgent以运行 ssh-add -A 自动重新载入钥匙串存储的密钥
  4. >

好吧,现在你知道该怎么做了,下面是'为什么'。

正如我的问题所解释的,最近,每当我重新启动时,我(不正确)都认为系统丢失了我的私钥。它不会失去它们,它只是无视它们。这是因为一堆东西都混合在一起,对于像我这样一个从未使用GIT终端的人来说,这是一场完美的混乱风暴。


  1. 在最新版本的macOS中,Apple改变了它如何实现SSH,以便它更好地匹配OpenSSH的实现

  2. 由于#1, ssh-添加-K [privateKey] 不再将钥匙存储在钥匙串中(它本质上忽略了 -K 。)当它们被添加到ssh为此会话 - 因此您的连接将再次工作 - 只要您重新启动,他们将不再工作。 (这让我很生气!)

  3. 即使对于Keychain中的 键,Apple也不会自动加载它们,这意味着您必须手动调用 ssh-add -A ,以便每次重新启动时重新加载它们。
  4. 然而,如上所述, ssh-add -K [privateKey] 不再将钥匙添加到钥匙串,因此对于钥匙, ssh-add -A 毫无意义。办法。 (他们可以以另一种方式添加到Keychain上。)

由于上述原因,手动添加了任何键在升级您的操作系统之前, -K 选项仍将存在于您的钥匙串中。然而,在苹果改变之后添加的键不是。



也就是说,Apple 仍然有能力将钥匙存储在钥匙串中,但不能从 ssh-add 了。它现在仅适用于在 config 文件中定义的主机。



现在是



$ b

  Host MarqueIV-Bitbucket 
HostName bitbucket.org
User git< - 确保这是'git',而不是SourceTree在这里放置的
PreferredAuthentications publickey
IdentityFile /Users/MarqueIV/.ssh/MarqueIV-Bbubucket
UseKeychain yes< - 请注意
AddKeysToAgent yes< - ...和here

但是请稍等!如果你看看我的配置文件,那么 会设置这些值!那么为什么它不工作?



两件事。


  1. 我不永远不要使用终端。我使用SourceTree,它不使用该文件中的主机条目

  2. Apple在技术上只在该主机被访问时按需添加(并存储)按键,而不是在文件为)加载的意思,除非你明确地访问该主机,什么都不会发生。

在我的情况下,通过SourceTree添加密钥会添加它们初始会话,但只要我重新启动,键将不会被加载,因此所有连接都会失败。 ssh-add -A 不会修复它,要么是因为它们不在keychain中,这意味着我回到手动添加命令行中的每一个 ssh-add [privateKey] 。真是痛苦!!

然后发生在我身上......如果该设置位于配置文件中,并且该条目可以从命令行使用,那么shouldn我能否直接连接到该主机,从而将钥匙添加到我的钥匙串中?让我们找出来!我输入了这个...

  ssh -T MarqueIV-BitBucket 

果然,不仅将密钥添加到ssh中,而且还将其添加到我的钥匙串中!我通过直接检查钥匙串访问来确认这一点,并且它在那里。



为了进一步测试,我运行了这个...

  ssh-add -D 

删除了所有我的键。果然,我的SourceTree连接全部失败了。

然后我跑了这个...

pre

ssh-add -A

以及钥匙串储存的钥匙神奇地回来连接再次开始工作! WOOT!

好吧,几乎在那里,但不完全!关于重新启动呢?同样,Apple不再自动从钥匙串加载密钥。当然,现在终端只是一个简短的短语来输入 ssh-add -A ,但是我不应该这么做!



输入LaunchAgent!



LaunchAgents和LaunchDaemons超出了本文的讨论范围,但总之,它们允许你在重新启动时,按计划执行,系统发生更改等时执行某些操作。



在我的情况下,我希望当我登录到我的系统时运行某些内容mac,所以LaunchAgent是最好的选择。



这是我的plist定义如何执行 ssh-add -A 每次登录我的帐户(即使我从未碰过终端):

 <?xml version =1.0编码= UTF-8 >?; 
<!DOCTYPE plist PUBLIC - // Apple // DTD PLIST 1.0 // ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtd\">
< plist version =1.0>
< dict>
< key>标签< / key>
< string> ssh-add-a< / string>
< key> ProgramArguments< / key>
< array>
< string> ssh-add< / string>
< string> -A< / string>
< / array>
< key> RunAtLoad< / key>
< true />
< / dict>
< / plist>

由于我只想为我的特定用户使用此功能,因此我将它存储在这里:

 〜/ Library / LaunchAgents 



< blockquote>

注意:确保更改权限以允许其执行,否则将无法启动!


果然,重启后,我所有的钥匙都回来了,并且很活跃!连接全部奏效,孩子们玩耍,成年男子哭了,这是Code-dom的一个美好的一天!

因此,回顾一下:


  1. Apple改变了SSH的工作方式

  2. 钥匙不再通过命令行添加到钥匙串中

  3. Apple也不再自动加载存储在钥匙串中的钥匙

  4. 使用终端连接到固定#2的配置定义主机
  5. >
  6. 使用LaunchAgent修复#3

希望这会有所帮助!现在时间去为我疼痛的肩膀得到一些冰冷的热,因为我一直在拍这些东西,所以我一直在拍拍自己。 ;)

UPDATE - It happened AGAIN!!!

Ok, so this just happened AGAIN! MAN is this frustrating!!! But this time I dug a little deeper and found that for some reason, my private keys were unloaded.

Specifically, when I call this...

ssh-add -l -E md5

I get this...

The agent has no identities.

However, if I then run this...

ssh-add /Users/[username]/.ssh/[private key]

Everything works again! SourceTree connects just as it's supposed to.

The question is why do I have to keep running the 'ssh-add' command?! Why does it keep forgetting my keys?!

As mentioned elsewhere, not sure if this makes a difference, but I'm running a MacBook Pro with High Sierra, although this happens on Sierra too.

Original Post:

This one has me both stumped, and annoyed as heck!! SourceTree (or ssh or something!) keeps forgetting/not applying/ignoring my SSH keys every day! I don't know why.

Note: Updated to use BitBucket's info instead of GitHub.

Here's the relevant portion of my current config file

# --- Sourcetree Generated ---
Host MarqueIV-Bitbucket
    HostName bitbucket.org
    User MarqueIV
    PreferredAuthentications publickey
    IdentityFile /Users/MarqueIV/.ssh/MarqueIV-Bitbucket
    UseKeychain yes
    AddKeysToAgent yes
# ----------------------------

Here's a 'ls' of my ~/.ssh folder (truncated)

-rw-r--r--@ 1 MarqueIV  staff   421 Dec 14 11:25 config
-rw-r--r--@ 1 MarqueIV  staff  1808 Dec  9 14:20 known_hosts
-rw-------  1 MarqueIV  staff  3243 Dec  6 23:33 MarqueIV-Bitbucket
-rw-r--r--  1 MarqueIV  staff   781 Dec  6 23:33 MarqueIV-Bitbucket.pub

Here's my known_hosts file (keys redacted)

bitbucket.org,104.192.143.3 ssh-rsa [redacted]
bitbucket.com,104.192.143.9 ssh-rsa [redacted]
104.192.143.2 ssh-rsa [redacted]

Note: Not sure if this matters, but you can see lines 1 and 2 seem to be duplicates.

And here's the output of ssh -Tv git@bitbucket.org

OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/MarqueIV/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to bitbucket.org port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/MarqueIV/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
debug1: Remote protocol version 2.0, remote software version conker_1.0.315-a08d059 app-153
debug1: no match: conker_1.0.315-a08d059 app-153
debug1: Authenticating to bitbucket.org:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/MarqueIV/.ssh/known_hosts:1
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:h+6zCXg32Uw4fYxSUMwYst3zee8RFb9Z47H1QUTz58E /Users/MarqueIV/.ssh/MarqueIV-GitHub
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/MarqueIV/.ssh/id_rsa
debug1: Trying private key: /Users/MarqueIV/.ssh/id_dsa
debug1: Trying private key: /Users/MarqueIV/.ssh/id_ecdsa
debug1: Trying private key: /Users/MarqueIV/.ssh/id_ed25519
debug1: No more authentication methods to try.
git@bitbucket.org: Permission denied (publickey).

See how it doesn't appear to be applying the key defined in config and known_hosts? Seems like that would be a problem, no?

Note: I'm using macOS Sierra, and I have updated my path to include /usr/bin before /usr/local/bin as outlined here. If I don't do that, I get an error saying ssh doesn't recognize UseKeychain yes in the config.

As a result, almost daily here's the routine I have to go through. I'll use GitHub as my example.

  1. I open SourceTree and try to pull the latest from GitHub. It fails with a 'git@github.com: Permission denied (publickey).' message.

  2. I remove my GitHub account from SourceTree.

  3. I delete both the public and private keys for GitHub from the .ssh folder on my machine.

  4. I go to GitHub and delete my old public key from my account.

  5. Back in SourceTree, I log into GitHub again using my username and password.

  6. Once logged in, using SourceTree, I generate a new SSH key-pair for GitHub.

  7. I copy my public key to the SSH area in my GitHub account. (Sometimes I notice it adds it for me, but I like to be safe and double-check.)

  8. Now I can push and pull again just fine.

I go home for the day and log on at home. It fails again. Repeat all of the steps above.

How do I get SourceTree/ssh/whatever to remember my da*n keys so I don't have to keep doing this every time I change locations?! What step am I missing???

So can anyone offer suggestions on how to make my SSH keys 'stick'?

解决方案

Ok, I think I have all the parts figured out.

To help people get what they're after, here's the solution right up front:

  1. Make sure the keys you want to auto-load are configured in your config file and have the UseKeychain and AddKeysToAgent set
  2. Make sure to connect to those config-defined hosts from terminal!!
  3. Create a LaunchAgent to run ssh-add -A to automatically reload your Keychain-stored keys

Ok now that you know what to do, here's the 'why'.

The Meat

As explained in my question, lately, whenever I rebooted, I (incorrectly) thought the system was losing my private keys. It wasn't losing them, it was just ignoring them. This was because of a bunch of things that all came together in a perfect storm of confusion for someone like me who never uses the terminal for GIT.

  1. In the latest versions of macOS, Apple changed how it's implemented SSH so that It better matches the implementation of OpenSSH
  2. As a result of #1, ssh-add -K [privateKey] no longer stores the keys in the keychain (it essentially ignores the -K.) While they do get added to ssh for that session--and thus your connections will work again--as soon as you reboot, they will no longer work. (This is what's been driving me mad!)
  3. Even for keys that are in the Keychain, Apple no longer loads them automatically meaning you manually have to call ssh-add -A from the terminal to reload them every time you reboot.
  4. However, as stated above, ssh-add -K [privateKey] no longer adds the keys to keychain, so ssh-add -A is pointless anyway for keys added that way. (They can be added to Keychain another way. More on that in a minute.)

Because of the above, any keys manually added with the -K option prior to upgrading your OS will still be in your Keychain. However, keys added after Apple's change are not.

That said, Apple does still have the ability to store keys in the keychain, but not from ssh-add anymore. It now only works for hosts defined in your config file.

This is now the only way to get your keys in your Keychain.

Again, here's my config:

Host MarqueIV-Bitbucket
    HostName bitbucket.org
    User git <-- Make sure this is 'git', not what SourceTree puts here
    PreferredAuthentications publickey
    IdentityFile /Users/MarqueIV/.ssh/MarqueIV-Bitbucket
    UseKeychain yes    <-- Note here
    AddKeysToAgent yes <-- ...and here

But wait! If you look in my config file, it does have those values set! So why didn't it work?

Two things.

  1. I don't use Terminal, ever. I use SourceTree which doesn't use the host entry in that file
  2. Apple technically only adds (and stores) the key on demand when that host is accessed, not when the file is (re)loaded meaning unless you explicitly access that host, nothing happens.

In my case, adding the keys via SourceTree would add them for that initial session, but as soon as I rebooted, the keys would again not be loaded and thus all connections would fail. ssh-add -A wouldn't fix it either because again, they weren't in the keychain, meaning I was back to manually adding each one on the command line with ssh-add [privateKey]. What a pain!!

Then it occurred to me... if that setting is in the config file, and that entry can be used from the command line, then shouldn't I be able to directly connect to that host, thus adding the keys to my keychain? Let's find out! I typed this...

ssh -T MarqueIV-BitBucket

And sure enough, not only was the key added to ssh, but it was also again added to my Keychain! I confirmed this by checking Keychain Access directly and it was there.

To further test, I ran this...

ssh-add -D

which deleted all my keys. Sure enough, my SourceTree connections all failed again.

Then I ran this...

ssh-add -A

and the keychain-stored keys magically came back and connections started working again! WOOT!!

Ok, almost there, but not quite! What about reboots? Again, Apple no longer automatically loads keys from Keychain. Sure, it's just a quick jaunt now to terminal to type ssh-add -A, but again, I shouldn't have to do that!

Enter LaunchAgents!

LaunchAgents and LaunchDaemons are beyond the discussion of this post, but in short, they allow you to execute something on reboot, on a schedule, when changes happen to the system, etc.

In my case, I wanted something that would run when I logged onto my mac, so a LaunchAgent was the best choice.

Here's my plist defining how to execute ssh-add -A every time I logged into my account (even if I never touched Terminal):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>ssh-add-a</string>
    <key>ProgramArguments</key>
    <array>
        <string>ssh-add</string>
        <string>-A</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Since I only want this for my particular user, I stored it here:

~/Library/LaunchAgents

Note: Make sure to change the permissions to allow it to be executed, or it won't start!

Sure enough, on reboot, all my keys came back and were active! Connections all worked, children played, grown men cried, and it was a good day in the Code-dom!

So to recap:

  1. Apple changed how their SSH worked
  2. Keys were no longer added to Keychain from the command line
  3. Apple also no longer auto-loaded keys that were stored in the keychain
  4. Using terminal to connect to config-defined hosts fixed #2
  5. Using a LaunchAgent fixed #3

Hope this helps! Now time to go get some Icy-Hot for my sore shoulder that I've been patting myself on so hard for figuring this all out! ;)

这篇关于你如何让SourceTree / SSH忘记你的SSH密钥? (我必须手动重新运行'ssh-add'才能让它再次运行!)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆