操作系统:Ubuntu 20.04
大家好,
我能够通过我的终端连接到远程机器:
ssh remote_name
尽管如此,我无法通过 sftp 连接(因此无法使用 Nautilus 访问我的远程文件)。
sftp remote_name
远程名称存储在我的.ssh/config
文件中,如下所示:
Host remote_name
HostName remote_adress
User user_name
身份验证是通过密钥文件完成的:我的.ssh/id_rsa.pub
密钥存储在我的远程机器中.ssh/authorized_keys
。
[编辑] 我意识到这个问题是在我尝试更改远程计算机上的“默认”shell 后出现的。不幸的是,这是一个共享服务器,所以我无法使用chsh
... 设置我的默认 shell,所以我只是在zsh
的末尾调用.bashrc
。
正如这篇文章所建议的,这就是我的问题的原因:https://unix.stackexchange.com/a/364574
我想继续在我的远程机器上使用 zsh,您有什么建议可以使sftp
连接正常工作吗?
感谢您的帮助 !
保罗
答案1
我的一个朋友向我提出了一个解决方案:
在我的遥控器中.bashrc
,我没有在最后直接调用,而是zsh
用以下条件限制对 zsh 的调用:
if [ "$SSH_TTY" ]
then
zsh
fi
现在我可以使用 ssh(并且我有 zsh 作为我的远程终端),并且 sftp 连接也可以工作!
希望这可以帮助其他人:)