2017
Sep
16
我很常使用 .ssh/config 建立 tunnel 连线,有一天突然 ssh 连线一直出现 "bash: No such file or directory" 这个错误,上网查了很久,有人说是 chroot 后,预设 bash 的目录失效,也有人说 user 没有加到 /etc/group,但这些都不是我遇到的情况,自已找了很久之后,终於发现是环境变数 SHELL 造成的影响。
错误讯息
- $ ssh xxxx.com.tw
- bash: No such file or directory
- ssh_exchange_identification: Connection closed by remote host
问题原因
- $ env |grep SHEL
- SHELL=bash
解决方式将 SHELL 改成绝对路径 export SHELL=/bin/bash
如果想要每次开机就有正确的设定,可以在 ~/.bash_profile 中加入 "export SHELL=/bin/bash"