はじめに
MacでSSH接続を設定する際に、.sshディレクトリやSSH秘密鍵であるid_rsaの場所を確認する方法をまとめます。
1. Finderで.sshを探す
まず、Finderを開きます。
キーボードで、
Command + Shift + G
を押すと、Mac内のコンピュータの場所を確認できます。
その後、以下のパスを確認します。
/Users/<ユーザー名>/.ssh/
例えば、ユーザー名がtestの場合は、
/Users/test/.ssh/
となります。
.sshディレクトリの中には、以下のようなファイルが保存されていることがあります。
id_rsa
id_rsa.pub
known_hosts
Finderで隠しファイルを表示する
.sshのように.から始まるファイルやディレクトリは、Finderでは通常非表示になっています。
Finderで以下のショートカットを使用すると、隠しファイルを表示できます。
Command + Shift + .
もう一度押すと、隠しファイルを非表示に戻せます。
2. ターミナルから.sshを確認する
ターミナルを開き、以下のコマンドを実行します。
ls -la ~/.ssh
実行すると、.sshディレクトリ内のファイルを確認できます。
例えば、以下のように表示されます。
drwx------ 1234 user staff 1234 1234 12 12:00 .
drwxr-x--- 1234 user staff 1234 1234 12 12:00 ..
-rw------- 1234 user staff 1234 1234 12 12:00 id_rsa
-rw-r--r-- 1234 user staff 1234 1234 12 12:00 id_rsa.pub
-rw------- 1234 user staff 1234 1234 12 12:00 known_hosts
この中に、
id_rsa
があれば、SSH秘密鍵が存在しています。
また、
id_rsa.pub
があれば、対応するSSH公開鍵も存在しています。
3. id_rsaの場所を確認する
以下のコマンドを実行すると、id_rsaの詳細を確認できます。
ls -l ~/.ssh/id_rsa
ファイルが存在していれば、以下のように表示されます。
-rw------- 1234 user staff 1234 1234 12 12:00 /Users/user/.ssh/id_rsa
id_rsaの絶対パスを指定して確認することもできます。
ls -l /Users/<ユーザー名>/.ssh/id_rsa
例えば、ユーザー名がtestの場合は、
ls -l /Users/test/.ssh/id_rsa
となります。
4. ~とは?
SSH関連のコマンドでは、
~
という記号をよく使用します。
~は、現在ログインしているユーザーのホームディレクトリを表します。
例えば、ユーザー名がtestの場合、
~
は、
/Users/test
を意味します。
そのため、以下の2つは同じ場所を指します。
/Users/test/.ssh/id_rsa
~/.ssh/id_rsa
SSH関連のコマンドでは、ホームディレクトリを表す~を使用すると、長いパスを入力する必要がないため便利です。
5. SSH秘密鍵から公開鍵を確認する
id_rsaが秘密鍵として正常に読み込めるか確認する場合は、以下のコマンドを実行します。
ssh-keygen -y -f ~/.ssh/id_rsa
正常に読み込めれば、公開鍵が表示されます。
例えば、以下のような形式です。
ssh-rsa TESTTESTTESTTESTTEST...
このように公開鍵が表示されれば、id_rsaを秘密鍵として読み込めることを確認できます。
注意
このコマンドで表示された公開鍵を確認すること自体は問題ありませんが、秘密鍵の内容そのものを他人に共有しないように注意してください。
6. id_rsaとid_rsa.pubの違い
SSHでは、基本的に秘密鍵と公開鍵のペアを使用します。
| ファイル | 種類 | 取り扱い |
|---|---|---|
id_rsa |
秘密鍵 | 他人に共有しない |
id_rsa.pub |
公開鍵 | サーバーやGitサービスなどに登録する |
秘密鍵:id_rsa
id_rsa
SSH接続時の認証に使用する秘密鍵です。
非常に重要なファイルなので、他人に渡したり、GitやRedmineなどにアップロードしたりしないようにしてください。
公開鍵:id_rsa.pub
id_rsa.pub
秘密鍵から生成される公開鍵です。
SSH接続先のサーバーやGitサービスなどにSSH公開鍵を登録する場合は、こちらを使用します。
7. SSH接続時に秘密鍵を指定する
SSH接続時に使用する秘密鍵を指定する場合は、-iオプションを使用します。
ssh -i ~/.ssh/id_rsa -p 1234 ユーザー名@接続先
例えば、以下のように指定します。
ssh -i ~/.ssh/id_rsa -p 1234 user_name@example.com
-iの後に、使用する秘密鍵のパスを指定します。
今回の場合は、
~/.ssh/id_rsa
が秘密鍵のパスになります。
8. .sshの中身をまとめて確認する
SSHの設定状況を確認したい場合は、まず以下のコマンドを実行すると便利です。
ls -la ~/.ssh
例えば、
.
..
id_rsa
id_rsa.pub
known_hosts
のように表示されれば、SSH関連のファイルが存在することを確認できます。
9. id_rsaが存在するか確認する
id_rsaだけを確認したい場合は、以下のコマンドを実行します。
ls -l ~/.ssh/id_rsa
ファイルが存在すれば、詳細情報が表示されます。
もし、
No such file or directory
と表示された場合は、~/.ssh/id_rsaという名前の秘密鍵が存在しない可能性があります。
その場合でも、別の名前の秘密鍵が存在する可能性があります。
例えば、
id_ed25519
id_ed25519.pub
などです。
そのため、まずは以下のコマンドで.sshディレクトリの中身を確認するのがおすすめです。
ls -la ~/.ssh
10. まとめ
MacでSSH関連のファイルを確認する場合は、まず以下のコマンドが便利です。
.sshの中身を確認
ls -la ~/.ssh
id_rsaの存在を確認
ls -l ~/.ssh/id_rsa
公開鍵を確認
ssh-keygen -y -f ~/.ssh/id_rsa
SSH接続時に秘密鍵を指定
ssh -i ~/.ssh/id_rsa -p 1234 ユーザー名@接続先
SSHでは、
id_rsa → 秘密鍵
id_rsa.pub → 公開鍵
という違いを覚えておくと分かりやすいです。
特にid_rsaは重要な秘密情報なので、他人に共有したり、GitやRedmineなどへ誤ってアップロードしたりしないように注意しましょう。
参考:今回覚えておきたいコマンド
| やりたいこと | コマンド |
|---|---|
.sshの中身を見る |
ls -la ~/.ssh |
id_rsaを確認する |
ls -l ~/.ssh/id_rsa |
| 公開鍵を確認する | ssh-keygen -y -f ~/.ssh/id_rsa |
| SSH接続する | ssh -i ~/.ssh/id_rsa -p 1234 ユーザー名@接続先 |
| Finderで隠しファイルを表示 | Command + Shift + G |