Github deploy key 设置使用
Github 上的每个仓库都可以单独设置部署密钥,有别于对全部仓库都有读写权限的 SSH KEY。Deploy key 是针对特定仓库的只读权限的密钥,一个密钥只能分配给一个仓库使用。
创建 deploy key
$ ssh-keygen -f ~/.ssh/happy_repo
将 deploy key 添加到授权列表
$ ssh-add -f ~/.ssh/happy_repo
执行
ssh-add
返回错误Could not open a connection to your authentication agent.
执行命令,启动 ssh-agent
:
$ eval `ssh-agent`
然后再执行一次 ssh-add -f ~/.ssh/happy_repo
查看授权列表
$ ssh-add -l
————————华丽的分割线————————
使用 ssh-add 添加专用密钥,需要每次都手动启动 ssh-agent,然后再手动将专用密钥添加到授权列表中,这样使用起来未免有些麻烦,如果不想每次都这样,可以使用 keychain 来管理这一系列动作。
安装 keychain
以 ubuntu server 为例
$ sudo apt install keychain
编辑 .bash_profile
$ nano .bash_profile
在配置文件中添加以下内容:
eval `keychain --eval ~/.ssh/happy_repo`
让配置生效
$ source .bash_profile
以后每次登录终端,keychain 都会自动加载 .bash_profile 中写入的密钥。
会员讨论区