MacのSublime TextのSFTPでMixhostにSSHキーを利用して接続する方法

最近までSSHってなんぞや!?って状態だったのですが、色々と調べてなんとかSublime TextのSFTPプラグインでSSH接続出来るようになったので、忘れないうちにメモ

MacでSSH公開鍵と秘密鍵を作成方法

MacでSSHキーを作成するにはターミナルを使います。

DockのLaunchpad(ロケットのマーク)をクリックして、アプリケーションの中にある「その他」の中からターミナルを起動します。

ターミナルが開いたらユーザー名(ホーム名)の後の$マークの後にssh-keygenと入力してエンター

あとは、何も入力せずにエンターを3回入力するだけで下の画像のようなアスキーアートのような表示が出ればキーの作成完了です。(念のため一部は伏せてあります)

一応、エンターキーを押すだけで未入力の3箇所の説明ですが

ファルダを作る場所 ホームフォルダ(ユーザー名フォルダ)の中に「.ssh」というフォルダを作ってその中にSSH鍵のファイル「ida_rsa」を作りますよという確認。公開鍵の作成場所やファイル名を変更したい場合はここで変更?

次はパスフレーズ(パスワードよりも長めのもの?)を入力する場合はここで入力しますが、そもそもSFTPはSSH鍵による認証であるためパスワードは不要、ここでのパスフレーズの設定はSSH鍵を利用するためのもののようです。

最後はこのパスフレーズを再入力となります。

SSH鍵のパーミッションの設定

公開鍵のパーミッションを設定して「所有者のみのが読み書き」出来るように制限します。
再び$マークの後に下のコマンドを入力してエンター
$ chmod 600 ~/.ssh/id_rsa.pub

SSH公開鍵の表示とコピー

今度は下のコマンドを入力してSSH公開鍵の内容を表示させます。
$ cat $HOME/.ssh/id_rsa.pub

続いて下のコマンドで公開鍵をコピーするか、ターミナル画面のssh-rsaから.localまでの赤い部分を選択してコピーしてMixhost側の作業に移ります。
$ pbcopy < ~/.ssh/id_rsa.pub

 

Mixhost側でのSSHの公開鍵の設定方法

MixhostのコントロールパネルのcPanelにログインします。

セキュリティの項目の「SSHアクセス」をクリック

「SSHキーの管理」のSSHキーの管理のボタンをクリック

「SSHキーの管理」のキーのインポートボタンをクリック

「SSHキーのインポート」画面で、「公開キーを貼り付けます」のところに先程Mac上でコピーしておいた公開キーを貼り付けます。パスフレーズを設定していた場合はここで入力、キーの名前も変更したければ入力して、インポートボタンを押します。 ※ここで貼り付けるのは公開キーだけでOKです。

公開キーのところに先程インポートしたものが表示されていると思います。ただし認証ステータスがnot authorized(許可されていません)となっているので、これを認証するために「管理」をクリックして管理画面へ

Authorizeボタンをクリックして認可します。

「認可されました」の表示が出たらMixhostでの設定は終了です。

Sublime TextのSFTPの設定

Sublime Textのプロジェクトのフォルダを右クリックして「SFTTP/FTP」項目の「Map to Remote」を選択。すると下の画像のようなsftp-config.jsonのファイルが表示されます。

変更する場所はたったの4箇所!

ホスト名 : FTPSホスト名

ユーザー名 : Mixhostから送られてきたメールに記載されたユーザー名

リモートパス: /home/ユーザー名/から記載します。

SSHキーの場所: MacでSSH鍵の作成時に変更していなければ、コメントアウトしている//を消すだけでOKです。