ようへい
ラベル ssh の投稿を表示しています。 すべての投稿を表示
ラベル ssh の投稿を表示しています。 すべての投稿を表示

2020年1月14日火曜日

Git で毎回 SSH パスワードを入力しなくていいようにする

セキュリティ考えてる人は SSH キーにパスワードを設定してると思いますが、この場合 git コマンドを打つたびにパスワードを聞かれるのが厄介。
これを解消します。
test -f ~/.bashrc && . ~/.bashrc
# Setup ssh-agent
if [ -f ~/.ssh-agent ]; then
    . ~/.ssh-agent
fi
if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
    ssh-agent > ~/.ssh-agent
    . ~/.ssh-agent
fi
ssh-add -l >& /dev/null || ssh-add
~/.ssh-agentssh-agent の実行に必要な情報を書いておき、それを使い回す。
最後の行で、読み込まれた認証情報があるか確認し、なければ ssh-add する。
ssh キーがデフォルトのパス(~/.ssh/id_rsa) 以外にある場合は、
ssh-add -l >& /dev/null || ssh-add /path/to/id_rsa
のようにすればいいはず。 次回ログイン時にパスワードを聞かれますが、以後は ssh-agent がいい感じにやってくれると思います。
たぶん Linux でも Git for Windows の Git Bash でも同じはず。
Windows のコマンドプロンプトとかから使いたい場合は、
  1. puttygen で、Conversions -> Save private key で変換
  2. pageant に変換したキーファイルを読み込ませて起動
    pagent.exe ~\.ssh\id_rsa.ppk
  3. 環境変数 GIT_SSH に plink.exe のパスを設定
でいいはず。
関連記事

2020年1月8日水曜日

Windows で plink を使用して ssh 接続する際、 Store key in cache? (y/n) でタイプできなくなった場合の対処法

Windows で plink を使用し、GitHub に ssh 接続しようとしたのだが、
$ git fetch                                                    
The server's host key is not cached in the registry. You       
have no guarantee that the server is the computer you          
think it is.                                                   
The server's rsa2 key fingerprint is:                          
ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx   
If you trust this host, enter "y" to add the key to            
PuTTY's cache and carry on connecting.                         
If you want to carry on connecting just once, without          
adding the key to the cache, enter "n".                        
If you do not trust this host, press Return to abandon the     
connection.                                                    
Store key in cache? (y/n)                                      
y とタイプしたいのに入力できない。
この場合、puttyjp.exe を起動し、接続することで対応できる。
GitHub なら github.com と入力し、開く をクリック。
あとはキーを store するか聞かれるので Yes をクリックすれば store できます。
次回からはターミナルで操作できます。
関連記事