huikai

生于忧患,死于安乐


目录

查看

查看公钥

  1. gpg --list-keys

查看私钥

  1. gpg --list-secret-keys
  2. # 或
  3. gpg -K

查看key时指定key格式

--keyid-format <format> format取值LONGSHORT

示例:

  1. gpg -K --keyid-format SHORT

查询公共服务器上的公钥

  1. gpg --search-keys <keyiduid>
  2. # 或查询指定服务器,如:hkp://keys.gnupg.net
  3. gpg --keyserver <keyserver> --search-keys <keyiduid>

查询公共服务器上的公钥

  1. gpg --search-keys <keyiduid>
  2. # 或查询指定服务器,如:hkp://keys.gnupg.net
  3. gpg --keyserver <keyserver> --search-keys <keyiduid>

使用指定密钥签名

  1. gpg -u <keyid> --sign <file>

gpg-agent认证ssh

注意

  • 确保使用gpg版本2.0以上

配置

  1. 编辑~/.gnupg/gpg-agent.conf文件,增加如下配置
  1. default-cache-ttl 600
  2. max-cache-ttl 7200
  3. enable-ssh-support
  1. 编辑~/.profile文件,增加如下配置
  1. count_ga=$(ps -ef | grep gpg-agent | grep -v "grep" | wc -l)
  2. if [ $count_ga -eq 0 ]; then
  3. # gpg-agent未运行时才需要运行
  4. gpg-agent --daemon
  5. fi
  6. unset SSH_AGENT_PID
  7. export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh
  1. 编辑~/.gnupg/sshcontrol文件,增加对应的认证密钥指纹

认证密钥查看方法:

  1. gpg --list-keys --with-keygrip

找到要使用的子密钥(注意是类型为A的子密钥)

  1. 验证,运行ssh-add -L命令,如果出现了公钥信息,就说明成功了。

cygwin 使用gpg版本无法使用问题

  1. 安装gpg2
  2. 找到文件夹删除${cgywin_home}/bin/gpg.exe文件(做好备份)
  3. 映射gpg2到gpg1
  1. ln -s /bin/gpg2 /bin/gpg

至此如果还无法正常使用进行下面操作

  1. 备份密钥
  2. 删除${home}/.gnupg目录(做好备份)
  3. 运行gpg -K自动重建刚才删除的目录
  4. 恢复备份的密钥


 maven问题 Git问题