从 MacOS 到 Ubuntu 的 SFTP 不支持箭头键、退格键或 Tab 补全

use*_*101 5 bash sftp ubuntu macos

使用 sftp 从 Mac 到 Ubuntu 机器时,箭头键、退格键和 Tab 补全功能不起作用。具体来说,箭头键和退格键会产生字符序列,而制表符只会插入一个制表符。但是,当使用 sftp 从 Ubuntu 机器到 Mac 时,我没有任何问题。我无法弄清楚差异在哪里。我的目标是能够通过 sftp 进入 Ubuntu 机器并使用箭头键、退格键和制表符补全。

壳:

我已经在两台机器上尝试过zshbash从 /bin/sh 升级是大多数其他类似问题建议的修复)

SSHD_配置:

我已经在 Ubuntu 机器上的 sshd_config 文件中尝试了Subsystem sftp /usr/lib/openssh/sftp-server两者。Subsystem sftp internal-sftpMac 正在使用/usr/libexec/sftp-server.

我意识到这些设置是不同的,所以我怀疑这导致了差异,但我不知道到底是什么差异,也不知道如何解决它。我也找不到太多关于这些不同 sftp 服务器的文档。

谢谢您的任何建议!

小智 5

在终端中输入:

\n
which sftp\n
Run Code Online (Sandbox Code Playgroud)\n

如果结果是/usr/bin/sftp,则意味着您使用的 macOS 内置 SFTP 版本与 GNU 版本相比已经过时。更多详细信息请参见此处

\n

您可以安装 Homebrew 版本 \xe2\x80\x94,它是 GNU 版本 \xe2\x80\x94

\n
brew install openssh\n
Run Code Online (Sandbox Code Playgroud)\n

并列出openssh安装路径:

\n
brew list openssh\n
Run Code Online (Sandbox Code Playgroud)\n

例如,Tou 会在这里看到一些二进制文件:

\n
/usr/local/Cellar/openssh/8.4p1_2/.bottle/etc/ (12 files)\n/usr/local/Cellar/openssh/8.4p1_2/bin/scp\n/usr/local/Cellar/openssh/8.4p1_2/bin/sftp\n/usr/local/Cellar/openssh/8.4p1_2/bin/slogin\n/usr/local/Cellar/openssh/8.4p1_2/bin/ssh\n/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-add\n/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-agent\n/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-keygen\n/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-keyscan\n/usr/local/Cellar/openssh/8.4p1_2/libexec/ (4 files)\n/usr/local/Cellar/openssh/8.4p1_2/sbin/sshd\n/usr/local/Cellar/openssh/8.4p1_2/share/man/ (15 files)\n
Run Code Online (Sandbox Code Playgroud)\n

现在输入:

\n
which sftp\n
Run Code Online (Sandbox Code Playgroud)\n

结果是/usr/local/bin/sftp,这是一个软链接/usr/local/Cellar/openssh/8.4p1_2/bin/sftp

\n

然后尝试 Homebrew 版本的 SFTP 并享受它!

\n


小智 1

with-readline 是一个小程序,允许 GNU Readline 库与任意程序一起使用,而无需重新编译这些程序。它对于改进基于终端的简单程序的用户界面非常有用,这些程序无论出于何种原因都没有被修改为使用 Readline 本身。关联

您可以安装 with-readline 以支持方向键和退格键。
但是,选项卡仅在本地端受支持,您无法从远程端完成文件名。
详细安装如下:

brew install with-readline
echo 'alias sftp="with-readline sftp"' >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1883 次

最近记录:

3 年,5 月 前