如何设置用户SSH连接到服务器时使用的shell。 例如,我不能忍受BASH,并需要使用ZSH,我怎样才能使ZSH与我的个人资料( .zsh_profile
)一起加载,当我ssh到机器。
我不想要传递一堆与ssh参数,我不能设置默认的shell?
假设你在Linux上运行,你可以使用chsh
命令。
chsh -s /bin/ksh foo chsh -s /bin/bash username
man chsh
改变壳,并不总是工作
或者,您可以在您的bashlogin脚本中粘贴exec /bin/zsh
zsh.this将用shellreplacebash实例。
或者你可以做ssh host "zsh -l"
编辑/ etc / passwd(如果您有权限,或者询问您的系统pipe理员)来更改您的默认shell。
如果你不能改变你的默认shell, ssh -t user@host 'zsh -l'
可以工作。
-t
标志强制执行一个伪tty分配, -l
标志产生一个loginshell 。