どうも雨が降るはずだったのに降られなくて、荷物が増えたことに怒りが集中しておりますりっくんですこんにちは。今回はメモ、わんちゃん同じようなミスする人いると思うので。

cyberduck

エラーで接続できない!!

VPSにはSSHで接続しています。そこでCyberduckを使ったSftp接続を行おうとした時、タイトルのエラーがでました。まず公式にそれについてのQ&Aが存在します。

help/en/howto/sftp – Cyberduck

Illegal sftp packet len

The error message Illegal sftp packet len may indicate you have either:

  • An echo statement in your shell init script like .bashrc. Make sure it does not output any text.
  • Interoperability issue with Globalscape EFT Server. Issue #5308.
  • Enable ssh access on your server. Use the sftp command in a terminal to verify sftp username@domain_name. It’ll ask for your password. If you don’t have ssh access, you’ll get “Received message too long”, hence the error msg in Cyberduck.

この内、私のエラーは1個目の・です。
サーバー側の.bashrcに書かれていたものが、何かしらコンソールに出力するようなものになっていて、それをCyberduckが受け取っちゃってエラーになってたようです。ちょっと私のそもそもの理解度が低いのでよくわからないかもしれないですが・・・。

自分の場合はNode.jsを動かすために書いておいたnvm use v0.xx.xが勝手にコンソールに出力していたのが問題。

余談ですが、nvmは0.6以降のバージョンではデフォルトのバージョンを設定できるようになっているんですって、そんなこと知らずに書いちゃったのが行けなかったんだ・・・(‘A`)

nvm alias default v0.xx.x

 と、一度やっておけばOK。.bashrcにわざわざnvm use v0.xx.xと書く必要はないということ・・・(‘A`)

気をつけようね!!!