Windowsで使っていたssh鍵をMacに設置

新しいMacをセットアップする際、Windowsで使っていたssh鍵を設置したときのメモ。
そのままコピーして復元できました。

  • id_rsa(秘密鍵)
  • id_rsa.pub(公開鍵)
  • known_hosts(ホスト情報)

MacのSourceTreeをインストールしたものの
Windowsのときと違って、環境設定にSSH鍵の置き場所を設定する項目がない!?

どうやらMacの場合は、アプリケーション側でssh鍵を指定するのではなく
PCのアカウントへ.sshディレクトリを設置し鍵を設定していれば
アプリケーション側で勝手に読み取ってくれることがわかりました。

  1. .sshディレクトリ設置
  2. バックアップデータを.sshへ設置
  3. パーミッションを設定

.sshディレクトリ設置

.(ドット)で始まる隠しディレクトリを設置したり、パーミッションを変更したりするため
まずは、ターミナルを開きます。

mkdirコマンドでsshの情報を置くディレクトリを作成します。

$ mkdir ~/.ssh

なお、~/は
ハードディスク → ユーザ → ログイン中のユーザディレクトリ
のパスです。

バックアップデータを.sshへ設置

作ったディレクトリへ、バックアップのデータ3件を設置します。
この作業はファインダーを開きドラッグ&ドロップで行いました。

さきほど作った.sshディレクトリは隠しディレクトリなので
ファインダーのユーザディレクトリを開いても見えない状態になっています。

隠しディレクトリを表示する場合は
ファインダーのメニュー
移動 → フォルダへ移動(command + Shift + g)
で行います。

フォルダの場所を入力で
~/.ssh
と入力すると、隠しフォルダ.sshが表示されます。

表示されたファインダーの.sshに
バックアップのid_rsa、id_rsa.pub、known_hostsをコピーします。
すでにknown_hostsがありましたが、上書きしても大丈夫です。

パーミッションを設定

再びターミナルから
chmodコマンドでパーミッションを設定します。

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_rsa

この、パーミッションを設定していないとアプリケーションがssh鍵にアクセスできないので
SourceTreeで「URLからのクローン」を試すと
「ソースURL」に正しいアドレスを入力できていても
「ソースパス/ソースURLとして正しくありません」とエラーになってしまいます。

秘密鍵のid_rsaは、600で動作しましたが
.sshディレクトリのほうは600ではエラーになるので700にする必要がありそうです。

関連記事

Pocket