SSHキー
SSH鍵はGerrit およびGitLab サーバーにログインしてコードをプッシュするために必須です。
新しいSSH鍵を生成する
/.ssh
の中に既にあるのでなければ、以下の案内に従って作成してください。
新しい鍵を生成する必要があるかどうか確かめるために、あなたのシステムにSSH鍵が既に存在するのかを確認しましょう。
ターミナルでこのコマンドを実行してください:
ls ~/.ssh
このコマンドにより(隠されている).ssh
ディレクトリ内にあるファイルが一覧されます。
もしそのディレクトリがあなたのシステムに既に存在して、id_ed25519.pub
というファイルが一覧に出力されているならば、そのまま#SSH公開鍵をコピーするに進むことができます。
新しいSSH鍵を生成するには、ターミナルを開いて、以下のコマンドのuser@example.comを自分自身のメールアドレスに置き換えたものを入力します。 我々はデフォルト設定にしてほしいので、鍵を保存するファイルを入力するように求められたら、単に↵ Enterを押してください。
ssh-keygen -t ed25519 -C "user@example.com"
Enter a strong and unique passphrase and press the ↵ Enter key.
- Why do passphrases matter?
- Passwords aren’t very secure. If you use one that’s easy to remember, it’s easier to guess or brute-force. If you use one that’s random it’s hard to remember, so you might write the password down. Both are very bad. This is why you’re using ssh keys. But using an ssh key without a passphrase is basically the same as writing down that random password in a file on your computer. Anyone who gains access to your drive has gained access to every system you use that key with. That's why you also add a passphrase. To not enter a long passphrase every time you use the key, there’s a tool called
ssh-agent
. It can save your passphrase securely. If you use macOS or Linux, then your keys can be saved in the system’s keychain to make your life even easier.
ssh-keygen
コマンドは~/.ssh
ディレクトリの中に2つのファイルを作成します:
~/.ssh/id_ed25519
- your private SSH key (for identification)~/.ssh/id_ed25519.pub
- your public SSH key
SSH公開鍵をコピーする
公開鍵ファイル(例えばid_ed25519.pub
)の内容を手に入れて、クリップボードにコピーします:
選択肢のひとつは、公開鍵ファイルを好きなテキストエディタ(Notepad、TextEdit、geditなど)で開くことです。
.ssh
ディレクトリは隠されているので、ファイルを見つけるにはテキストエディタのファイル選択ダイアログで、「隠しファイルを表示する」を有効にする必要があるかもしれません。
「隠しファイルを表示する」オプションは、ファイル選択ダイアログで右クリックすることによって利用できる場合があります。
その他の選択肢は:
- Linuxで、
cat ~/.ssh/id_ed25519.pub
を実行して手動で出力をクリップボードにコピーする。 - Windowsでは、Git GUIを開いて、Help 🡒 Show Key と進み、それから"Copy To Clipboard"を押すことで公開鍵をクリップボードにコピーすることができます。
- macOSでは、
pbcopy < ~/.ssh/id_ed25519.pub
を実行して公開鍵ファイルの内容をクリップボードにコピーすることができます。
改行や空白を追加することなく、SSH公開鍵を書かれている通り正確にコピーすることが重要です。 先頭の"ssh-ed25519"、鍵自体、および末尾のメールアドレスを含む全テキストをコピーしてください。
Gitで使うためのSSH秘密鍵を追加する
Permission denied
を受け取るでしょう。Git Bashコマンドラインを開始します。
- sshエージェントサービスを開始します
eval `ssh-agent`
- シングルクォート
'
ではなく、アクセント`
を使っていることを確かめてください。 (この特殊文字を簡単に入力することができないならば、このページからコピーアンドペーストすることができます。) Linuxで代替シェル(例えばFish shell)を使っている場合には、このコマンドが動作しないかもしれないことにも注意してください。Bashに切り替えることで問題は解決するでしょう。
- エージェントに秘密鍵を追加します。[1] 上記の手順に従っていて、鍵がデフォルトの名前
id_ed25519
であるならば、コマンドは以下の通りです:
ssh-add ~/.ssh/id_ed25519
- If you get
WARNING: UNPROTECTED PRIVATE KEY FILE!
, runchmod 600 ~/.ssh/id_ed25519
and then rerun the above command.
macOSについてはCodeXの記事を参照してください。
- ↑ If as a Ubuntu user you have a "Permission denied (publickey)" message, please check on this help page