ヘテムルでWordmoveを利用するには下記の条件が必要です。
- SSH接続を利用できるように手続きしてあること
- メインFTPアカウントが利用できること(サブアカウントだとSSHは利用できません)
これらの条件が揃っていることを前提として進めていきます。
SSH 接続できるようにする
鍵のファイル名はid_rsa_heteml
として話を進めます。ヘテムルのマニュアルにはFTPアカウントのパスワードを入力するよう書かれていましたが、SSHのパスワードじゃないとログインできませんでした。謎…。
まず、~/.ssh/config
に設定を追加します。
+ Host heteml
+ HostName {ホスト名}
+ User {ユーザ名}
+ Port 2222
+ IdentityFile ~/.ssh/id_rsa_heteml
+ IdentitiesOnly yes
+ PreferredAuthentications password
次に、公開鍵を作成してヘテムルにコピーし、リネームして権限を変更します。
$ cd ~/.ssh
$ ssh-keygen -t rsa
$ scp ~/.ssh/id_rsa_heteml.pub heteml:~/
$ ssh heteml
# ここからサーバ内
$ mkdir .ssh
$ mv id_rsa_heteml.pub .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ exit
最後に、~/.ssh/config
から1行削除します。
Host heteml
HostName {ホスト名}
User {ユーザ名}
Port 2222
IdentityFile ~/.ssh/id_rsa_heteml
IdentitiesOnly yes
- PreferredAuthentications password
ssh heteml
でパスワードを聞かれずにログインできたら完了です。
ちなみに、複数の鍵を登録したい場合は、~/.ssh/authorized_keys
に公開鍵の内容をコピーして追記すれば良いです。
Wordmove を実行してみる
wordmove pull
が失敗したのでエラーメッセージを見てみると、依存パッケージがないよと言われていたのでインストール。余談ですが、MacにプリインストールされているRubyだとgemのインストール時にパーミッションエラーではじかれるので、rbenvなどで別途インストールしたほうがよさそうです。
$ gem install rbnacl -v 4.0.0
# 3.2.0以上5.0.0未満なので適当に…(真似しちゃダメよ)
$ gem install rbnacl-libsodium bcrypt_pbkdf
これでもまだエラーが出るのでメッセージを確認。
key was 257 bytes (Expected 32) (RbNaCl::LengthError)
下記のIssueにあるとおり、ssh-addコマンドで解決。
SSH Key RbNaCl::LengthError pulling db · Issue #510 · welaika/wordmove
I have a problem while executing wordmove pull -d via SSH. First I got, after trying to connect to remote: Traceback (most recent call last): 34: from /Users/Till/.rvm/gems/ruby-2.6.0-latest/bin/ru...
https://github.com/welaika/wordmove/issues/510#issuecomment-474616209
$ ssh-add ~/.ssh/id_rsa_heteml
これでwordmove
コマンドが動くようになりました。