vagrant upしたら以下のネットワークエラーが発生し、仮想OS自体は立ち上がるものの共有フォルダの機能が利用できなくなりました。
==> default: Configuring and enabling network interfaces...
/opt/vagrant/embedded/gems/gems/net-scp-1.1.2/lib/net/scp.rb:392:in `await_response_state': hogehoge (RuntimeError)
原因は仮想OSのvagrantユーザのホームディレクトリに.ssh/rcが置いてあって、そのファイル内でecho “hogehoge”
と書いてしまっていたこと。以下のコードで、channel[:buffer].read_byte
でechoした結果が読み込まれて、if c != 0
でraiseされてしまっていました。
def await_response_state(channel)
return if channel[:buffer].available == 0
c = channel[:buffer].read_byte
raise "#{c.chr}#{channel[:buffer].read}" if c != 0
channel[:next], channel[:state] = nil, channel[:next]
send("#{channel[:state]}_state", channel)
end
raiseを無理矢理コメントアウトすれば良いのかもしれないですが、おとなしく.ssh/rcのecho文をコメントアウトして解決。