1. TOPTOP
  2. Webサービス
  3. sublimetext2

Windows環境でSublime Text2のSFTPパッケージを使って、公開鍵暗号方式によるファイルUPをする方法を教えます

|

editor

昨日、Sublime TextのSFTPパッケージで、鍵認証(公開鍵暗号方式)を使ったときに、ファイルのUPロードができない記事(新しいタブで開く)を書きました。

その後、読者の方からアドバイスをいただいたり、自分で調べているうちに、鍵認証によるファイルのUPロードができるようになりましたので、ご報告いたします。

Windows環境でSFTPパッケージを使うコツ

Windows環境で、Sublime Text2のSFTPパッケージ(Sublime SFTP)を使うためには、コツが3つあります。

~/.ssh/configは作成しない

この記事を書いた2014年8月28日現在、鍵認証によるSublime SFTPのUPロードについて言及する記事は、Mac環境のものに限られています。

すると、以下の内容を記述する~/.ssh/configファイル内を新たに作成することが、書かれている場合があります。

Host sftp.server 
  HostName 13×.×××.×××.××× 
  User myusername
  IdentityFile ~/.ssh/id_rsa

Mac環境の場合、~/.ssh/configは、クライアントPCに作成するファイルに該当すると考えられます。ですが、Windowsではこのファイルを作る場所がないので、この作業は行いません。

公開鍵と秘密鍵の作成

鍵認証なので、公開鍵と秘密鍵を作成する必要があります。ただし、次のaからdまで、4つの手順を踏む必要があります。

a)TeraTermで公開鍵(id_rsa.pub)と秘密鍵(id_rsa)を作成する

TeraTermによる、公開鍵と秘密鍵の作成方法については、こちらのページ(新しいタブで開く)が参考になります。

b)公開鍵を~/.sshフォルダに格納する

~/.sshフォルダは、サーバー側で予め作成してください。

c)ファイル名の変更とパーミッションの変更

格納したファイルの名前をauthorized_keysに、パーミッションを600に変更します。これらの作業は、Mac・Windowsともに共通です。お約束ごとですね。

d)秘密鍵の拡張子を変更

TeraTermで作成した秘密鍵(id_rsa)にもとづいて、FileZillaで.ppkを拡張子とする秘密鍵(id_rsa.ppk)に変更します。

TeraTermの秘密鍵に基づいて、FileZilla専用の秘密鍵を作成し、サーバー側には両者共通の公開鍵(authorized_keys)を1つだけ配置するところがポイントです。

なお、id_rsaをid_rsa.ppkに変更する作業は、こちらのページ(新しいタブで開く)が参考になります。

sftp-config.jsonの設定変更

上記3の作業に基づいて、sftp-config.jsonの設定を変更します。

"host": "13×.×××.×××.×××",
"user": "myusername",
"password": "mypassword",
// 22番ポートから1024から65535のいずれかに変更
"port": "60000",
…
"remote_path": "/var/www/html/test",
…
// コメントアウトを外し、Cドライブ上に格納している秘密鍵を指定する
"ssh_key_file": "C:/RSA/id_rsa.ppk",
…
// コメントアウトを外し、falseからtrueに変更
"allow_config_upload": true,

“ssh_key_file”でサーバー側の公開鍵に対応する、クライアントPC側の秘密鍵の場所を指定します。

Windows環境なので、Cドライブに任意のフォルダ(RSA)を用意して、その直下に秘密鍵(id_rsa.ppk)を格納しています。

まとめ

ひょっとしたら、Windows環境でも他にも、接続する方法があるかもしれません。しかし、自分で試してみた中では、この方法以外にやり方が分かりませんでした。

ただ、やはりMac環境における接続方法に比べ、Windows環境における、SFTPパッケージによる接続はややこしいです。

〔前の記事〕

〔参考サイト〕