おねずみ三千世界

これより西方、十万億もの仏国土を過ぎて、世界があるが、それを名づけて極楽という。

zshでscpが出来ない時

原因は、.bashrcで別のシェル(zsh)を立ち上げていたことでした。

↓.bashrcの中身

$HOME/local/bin/zsh

この行をコメントアウトしたところ、解決しました。

なぜこんなことをしていたかというと、接続先のサーバーにはzshがインストールされておらず、権限も無かったのでホームディレクトリ($HOME/local/bin/zsh)にzshをインストールしていました。chshでホームディレクトリにインストールしたシェルを指定することは出来ないので、.bashrcで自動で起動するようにしていたのです。

んほ。これはちょうどさくらレンタルサーバとかでzshを入れてるとよくあるパターンですね。解決方法もコメントであげられていましたので、参考にするしかっ!

if [ $PS1 ]; then
/bin/zsh
fi

$PS1はプロンプトの素材になる要素なのかな。それが無い時は対話的に動作していない、と。