このブログを検索

2017/11/18

Gitコマンドを使ってみる

Gitをコマンドラインで扱わなければならなくなったのでメモ。
windows 7です。

Git-Bashを使用してCloneしたら、怒られてSSH Keyの登録が必要だったと思いだして作成。
# RSAファイルの作成
$ ssh-keygen -t rsa -b 4096 -C "git-bash-dml-gitlab-rsa"
# SSH Keysの保存先。特に気にしなければそのままEnterを入力
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
# パスフレーズの入力を求められるので入力Enter passphrase (empty for no passphrase): [Type a passphrase]
# もう一度入力
Enter same passphrase again: [Type passphrase again]
%USERPROFILE%\.ssh のフォルダに id_rsa , id_rsa.pubが出来上がっていたので、id_rsa.pubの中身をGitLabに登録
clip < %USERPROFILE%\.ssh\id_rsa.pub
さて、Clone Commit Pushと思ったら証明書のパスワード毎回聞かれる。
調べてみたら、一回だけ入力でその後は入力しなくてよくなるとの記事を見つけた。
$ eval `ssh-agent`
> Agent pid xxxx

$ ssh-add ~/.ssh/id_rsa
> Enter passphrase for /c/Users/you/.ssh/id_rsa:
> Identity added: /c/Users/you/.ssh/id_rsa (/c/Users/you/.ssh/id_rsa)
無事登録され、毎回聞かれることはなくなった。
---
ただ、、初回入力も面倒くさいとか思ってしまい、opensslにてパスフレーズ省略してしまいました。
---
Windowsのコマンドプロンプトでも、ssh-agentを起動できないかと調べたら、方法がありましたのでそのままお借りします。
:: ssh-agent起動
cd "C:\Program Files\Git\usr\bin"
if not "%SSH_AGENT_PID%" == "" goto end
for /f "eol=; tokens=1,2 delims==;" %%1 in ('ssh-agent.exe') do (
 if "%%1" == "SSH_AUTH_SOCK" set SSH_AUTH_SOCK=%%2
 if "%%1" == "SSH_AGENT_PID" set SSH_AGENT_PID=%%2
)

:: id追加
ssh-add.exe "%userprofile%\.ssh\id_rsa"

:: 最後にssh-agentプロセスを切る
cd "C:\Program Files\Git\usr\bin"
ssh-agent.exe -k
変数にプロセスID入れてあげればよいようです。

0 件のコメント:

コメントを投稿