Subime Textのパッケージである、Sublime SFTPの設定で難儀しております。
ローカル上のSublime Textで作成したファイルを秘密鍵(id_rsa)を使って、「さくらのクラウド」(サーバー)にUPしたいのですが、そもそもサーバーに接続できません。
UPしようとすると、ことごとく”connection_timeout”のアラートが表示されてしまいます。
Sublime SFTPの設定変更
秘密鍵を使ってファイルをアップロードするために、大きく3つの作業を行っています。
- 秘密鍵の作成
- sftp-config.jsonの設定変更
- ~/.ssh/configの作成
秘密鍵の作成
Windowsを使用しているので、PuTTYgenで作成したppkファイル(秘密鍵)を、サーバーの~/.sshに配置しています。
sftp-config.jsonの設定変更
設定ファイルをデフォルトの状態から、以下の項目を変更しています。
[php]
"host": "13×.×××.×××.×××",
"user": "myusername",
"password": "mypassword",
// 22番ポートから1024から65535のいずれかに変更
"port": "60000",
…
"remote_path": "/var/www/html/test",
…
// コメントアウトを外す
"ssh_key_file": "~/.ssh/id_rsa",
…
// コメントアウトを外し、falseからtrueに変更
"allow_config_upload": true,
[/php]
~/.ssh/configの作成
~/.sshの直下に新たな設定ファイルを作成します。内容は以下の通りです。
[php]
Host sftp.server
HostName 13×.×××.×××.×××
User myusername
IdentityFile ~/.ssh/id_rsa
[/php]
その他
sftp-config.jsonの設定変更について、”ssh_key_file”: “~/.ssh/id_rsa”ではなく、その下にある”sftp_flags”: [“-F”, “~/.ssh/id_rsa”]のコメントアウトを外すアドバイスをしてくれている方も、いらっしゃいました。しかし”sftp_flags”の方を変更しても、接続できませんでした。
また鍵認証を行う場合、公開鍵(id_rsa.pub)はサーバーに配置しても、秘密鍵はサーバーにアップロードせず、クライアントPCに置いたままにしておくものです。
Sublime SFTPの場合、秘密鍵をサーバーに配置するようなことになっていますが、この辺りもいまいちピンとこないところです。
【追記】
この記事であげた問題は、後日解決することができました。興味のある方は、以下のサイトにアクセスしてください。
〔参考サイト〕