解决 sftp/scp 连接服务器无响应 (ssh 正常) 的问题

这个问题出现了很久,后来发现是由于我使用的默认 login shell 为 zsh 导致的。

只要用

chsh -s /bin/bash

将默认的 login shell 改为 bash 即可。

但是我又不想从 zsh 切换回 bash,于是在 .bashrc 的最后添加如下两句:

vt=$(fgconsole 2>/dev/null)
(( vt != 1 )) && exec zsh

之所以这样写是因为我的 console 1 被设置为自动启用 startx,如果不判断一下, .xinitrc 里的 exec awesome 语句就无法起效(被覆盖)。

Update

实际原因是因为服务器端为了使用在本地编译的 zsh,我没有使用 chsh 命令修改默认 shell,而是在 .bashrc 的最后加上了:

exec zsh

导致 sftp 等程序无法执行。

Table Of Contents

Previous topic

GNU Screen 笔记

Next topic

为ssh在首次运行时自动添加key

This Page