大体そんなもん diary

読んでみて「まぁ、大体そんなもん」程度の理解をしていただけるように書いていくつもりです。深く知りたい方はそっとお戻りください。

【GitBush】パスフレーズ入力、めんどくさい【大体そんなもん】

始めましての方、初めまして。
それ以外の方、私だ こんにちは。

f:id:Remora:20191025205922j:plain
閲覧ありがとうございます。

この記事を読んでできること。
パスフレーズの入力の手間が省けます。

┓作業の流れ┓

⚠︎attention⚠︎
この設定をすると、パスフレーズの入力回数は格段に減ります。
が、パスフレーズを入力しなさ過ぎて忘れては本末転倒なので
必ず、秘密の場所にメモしておいたほうが安心です。

話が脱線しないように頑張ります。
では、行ってみよー!
f:id:Remora:20191025210502j:plain

1.GitBach起動

2.以下のコマンドを入力

vi ~/.bashrc

3.INSERTモードにして、以下の3行を入力

 #ssh-agent
 eval `ssh-agent`
 ssh-add

4.上書きしてviモードを終了

5.GitBachを再起動


手順は以上です。

今後、GitBachを起動するたびに、最初の1回だけ入力を求められます
pushしてもssh接続確認してもパスフレーズの入力を求められなくなります。

入力が省略されるのは今現在開いたセッション間のみ。
中には別のセッションでも共用できる方法もあるらしいのですが、
もしかしたら途中でパスフレーズを変更するって場合が無きにしも非ず。
なので、今回は現セッション間のみパスフレーズを省略できるようにしました。

ちなみに、1回起動したssh-agentを別のセッションでも共用したい場合、以下を
3の手順実行時に入力してください。

# test for identities
function test_identities {
    # test whether standard identities have been added to the agent already
    ssh-add -l | grep "The agent has no identities" > /dev/null
    if [ $? -eq 0 ]; then
    ssh-add
    # $SSH_AUTH_SOCK broken so we start a new proper agent
        if [ $? -eq 2 ];then
            start_agent
        fi
    fi
}

# check for running ssh-agent with proper $SSH_AGENT_PID
if [ -n "$SSH_AGENT_PID" ]; then
    ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
    if [ $? -eq 0 ]; then
    test_identities
    fi
# if $SSH_AGENT_PID is not properly set, we might be able to load one from
# $SSH_ENV
else
    if [ -f "$SSH_ENV" ]; then
    . "$SSH_ENV" > /dev/null
    fi
    ps -ef | grep "$SSH_AGENT_PID" | grep -v grep | grep ssh-agent > /dev/null
    if [ $? -eq 0 ]; then
        test_identities
    else
        start_agent
    fi
fi


お疲れ様でした。
f:id:Remora:20191026002203j:plain