能够通过 ssh 连接到服务器,但不能通过 sftp 连接到服务器(bash -> zsh)

能够通过 ssh 连接到服务器,但不能通过 sftp 连接到服务器(bash -> zsh)

操作系统: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 连接也可以工作!

希望这可以帮助其他人:)

相关内容