サーバーにsftpできないときは
Coda2やForkLiftやTransmitやらなんでもいいけどGUIのSftpソフトで、サーバーにつながらんくなった!って時の対処法です。
色んなケースがあるとは思いますが、私の場合はbashrcが悪さしてました。
原因と解決方法
原因
bashrcの記述に問題があって、Terminalみたいな「対話型ではない接続」ができなくなってました。
解決方法
ログイン時に読まれるであろうbashrcなどの「先頭」に、
[ -z "$PS1" ] && return
と記述してください。
何をしてるかというと、「対話型ではない接続」の場合は、以降を読み込まないようにしてるだけ。
普段のTerminalでの接続では、いつも通り読み込まれます。
解決までの道のり
Coda2のファイラーが突然つながらんくなった
昨日までいけてたのに!
Coda2が悪いのかと思い、Forkliftで試す→もちろんダメ。
ううむ。
ポートの指定もユーザーもssh鍵系も全部問題ないはず。
Terminalからコマンドでつないでみる
sshはいつも通りできてるけど、sftpは?
sftp -oPort="9999" username@hostname # ポートを変えてる場合はポート、username/hostnameはそれぞれのものを。
そうすると、
Connecting to hostname... Received message too long 1970496800
なんかエラーになってるー。
「Received message too long」で検索するとそれらしい記事が。
とはいえ直接の回答ではありませんでした。
が、bashrcが怪しいということがわかって、メッセージ・・もしやGUI系のソフトでログインしたらダメなやつとかあったり・・?と思ったので。