美文网首页
ssh-agent 配置

ssh-agent 配置

作者: zhujunhua | 来源:发表于2018-07-26 09:29 被阅读0次

    ssh-add命令

    ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add

    ssh-add参数如下:
    
    -D:删除ssh-agent中的所有密钥.
    -d:从ssh-agent中的删除密钥
    -e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
    -s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
    -L:显示ssh-agent中的公钥
    -l:显示ssh-agent中的密钥
    -t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
    -X:对ssh-agent进行解锁
    -x:对ssh-agent进行加锁
    
    # 示例:
    # 把专用密钥添加到 ssh-agent 的高速缓存中:
    ssh-add ~/.ssh/id_dsa
    #从ssh-agent中删除密钥:
    ssh-add -d ~/.ssh/id_xxx.pub
    #查看ssh-agent中的密钥:
    ssh-add -l
    

    只输入一次密码

    把下列内容copy到 ~/.bashrc 下即可。(修改 ~/.profile,有一次遇到进不了系统了)

    env=~/.ssh/agent.env
    
    agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
    
    agent_start () {
        (umask 077; ssh-agent >| "$env")
        . "$env" >| /dev/null ; }
    
    agent_load_env
    
    # agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
    agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
    
    if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
        agent_start
        ssh-add
    elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
        ssh-add
    fi
    
    unset env
    

    现在,只有第一次打开git bash的时候,需要输入密码,后续都不需要了。

    参考:
    ssh-add
    Working with SSH key passphrases

    相关文章

      网友评论

          本文标题:ssh-agent 配置

          本文链接:https://www.haomeiwen.com/subject/qrpvmftx.html