初心者のためのSSH
パソコンからサーバーとかGitに接続するために使うのがSSHです。
詳しくはWikiとかを見ると勉強になります!
ここでは使い方だけに触れます
SSHキーを生成する
まずSSHキーを生成するためのコマンドを実行
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/test/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/test/.ssh/id_rsa.
Your public key has been saved in /Users/test/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:<中略>
The key's randomart image is:
+---[RSA 2048]----+
|.=Ooo oo. |
<中略>
|E o =... |
+----[SHA256]-----+
$
途中でEnter file in which to save the key (/Users/test/id_rsa):
と聞かれます。
これは「どこにSSHキーを保存しますか?」という意味です。
そのままエンターを押すとかっこの中に書いてある場所に保存されます。
次にEnter passphrase (empty for no passphrase):
と聞かれます。
これは「SSHキーを見たりするときに使うパスワードを設定してください」という意味です。
通常は設定する必要がありませんので、空白でエンターを押します。
Enter same passphrase again:
に関しては、その前でパスワードを決めていたらそれを入力してください。
これにてSSHキーが出来ました!
生成したキーの場所と意味
出来たファイルの中身を見ていきましょう!
$ cd ./ssh
$ ls -la
total 16
drwxr-xr-x 4 test 2020 128 Dec 15 15:19 .
drwx------ 9 test 2020 288 Dec 15 15:19 ..
-rw------- 1 test 2020 1843 Dec 15 15:19 id_rsa
-rw-r--r-- 1 test 2020 409 Dec 15 15:19 id_rsa.pub
$
~/.ssh
の中にはid_rsa
とid_rsa.pub
というファイルがあります。
id_rsa
は秘密鍵と言って、他の人に見せてはいけない鍵です
この鍵から後程紹介する、公開鍵が作られます。
$ cat id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
<中略>
-----END OPENSSH PRIVATE KEY-----
$
id_rsa.pub
は公開鍵です
何かのサービスに接続する際にこの鍵を使います
$ cat id_rsa.pub
ssh-rsa
<中略>
$
複数のPCでSSHキーを使いまわす
複数のPCでSSHキーを使いまわしたいときに使ってください
1)普段使用しているPCから秘密鍵をcat
等で表示させて、コピーします。
2)コピー先のPCでid_rsa
にコピーした秘密鍵を書き込む
3)コピーした先でchmod 600 ~/.ssh/id_rsa && ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
を実行
これで完成です!
普段使っているPCとリモートで使用しているPCで、同じ公開鍵が作れました
まとめ
SSHって便利ですね。
使いまわす方法がssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
をすればいいよーってよく書かれてます。
自分の環境だとchmod 600 ~/.ssh/id_rsa
を明示的にしなくちゃいけなかったので困ってました
という事で備忘録も兼ねてお疲れ様です
読んでくださってありがとうございます
追記)絵文字かわいい
参考サイト