Macを使っているWebデザイナーが、黒い画面ではなくTransmitでSFTPを使うまでの流れをまとめました。
サーバはさくらのスタンダードです。
設定の流れ
- 公開鍵と秘密鍵の作成
- configファイルの設定
- サーバに公開鍵を送信
- Transmitで接続
Step1: 公開鍵と秘密鍵の作成
ターミナルを起動し、次のコマンドを実行します。
$ ssh-keygen
(特にオプションをつけなければRSA方式の鍵ができるようです)
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
保存先とファイル名の確認、パスフレーズの入力(2回)を求められるのでEnterを押して進めます。
パスフレーズは入力しなくても進めますが、12文字以上のパスフレーズを設定しておきます。 → 追記へ
特に変更なく進めると、「 ~/.ssh 」ディレクトリに公開鍵「 id_rsa.pub 」と秘密鍵「 id_rsa 」が生成されたはず。
ターミナルで鍵ができているか確認してみます。
$ cd ~/.ssh
$ ls
id_rsa.pub と id_rsa が表示されればOK。
Step2: configファイルの設定
「 ~/.ssh 」ディレクトリに「 config 」ファイルを作成します。
(アナログなわたしは空のテキストファイルを拡張子なしのconfigという名前で保存しました笑)
configファイルの設定を記述していきます。
Host example.com
HostName アカウント名.sakura.ne.jp
User アカウント名
Port 22
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
1行目 Host の後は任意の名前でOK。わたしはドメイン名を使います。
configファイルに複数記述しておけるので便利。
Step3: サーバに公開鍵を送信
実はいちばん情報が解りづらいのがここでした。
(黒い画面が苦手なわたしはFTPクライアントでアップしました笑)
先に作成した公開鍵「 id_rsa.pub 」を「 authorized_keys 」という名前でサーバ上「 /.ssh 」にアップし、パーミッションを600に変更します。
Step4: Transmitで接続
最後はTransmitの設定です。
サーバにconfigファイルと同じホスト名を設定するだけで、ユーザー名やパスワードの入力がなくてもSFTP接続できるようになりました。
〈追記〉認証鍵のエラーについて
現段階では鍵生成時にパスフレーズを設定するとTransmitでパスワードエラーになります。
将来のバージョンで改善予定とのことですが、パスフレーズを設定しない方が簡単です。
参考)なぜ私の認証鍵は未サポートの形式と警告されるのですか? | PanicアプリでSSH鍵を使用する - Panic Library
参考サイト
たくさんのサイトを参考にさせていただきました。いつもありがとうございます。