【发布时间】:2010-09-14 11:35:39
【问题描述】:
在 bash 中使用 ssh 登录到另一台计算机时,将文件下载到本地硬盘的最佳方法是什么。我知道 sftp,但它并不方便,例如它缺少目录名称的制表符完成。我正在使用 Ubuntu 8.04.1 。我没有公共 IP,也不想设置动态动态 DNS 解决方案。
【问题讨论】:
标签: networking ssh sftp
在 bash 中使用 ssh 登录到另一台计算机时,将文件下载到本地硬盘的最佳方法是什么。我知道 sftp,但它并不方便,例如它缺少目录名称的制表符完成。我正在使用 Ubuntu 8.04.1 。我没有公共 IP,也不想设置动态动态 DNS 解决方案。
【问题讨论】:
标签: networking ssh sftp
FISH 怎么样? ***通过 ***Sh***ell 传输文件 - 您可以在控制台中使用 Midnight Commander:
$ sudo apt-get install mc
$ mc
然后按F9;右(用于右面板)-> 外壳链接 输入远程主机的 ssh 链接。在提示符输入机器名称指定:
user@host
系统将提示输入密码(如果您已设置 SSH 密钥,系统将提示您输入密码)
现在您可以浏览远程文件系统,随意选择并复制 (F5)。
【讨论】:
【讨论】:
我也在运行 Ubuntu 8.04.1,如果我输入
$ scp me@myserver.mydomain.com:.bashr<TAB>
我确实获得了选项卡完成(即 bash 正在 ssh 到我的服务器并从那里的文件系统获取完成结果)。那么
$ scp me@myserver.mydomain.com:.bashrc .
将我的 .bashrc 从我的服务器复制到我本地机器上的当前目录。
如果您不明白,请尝试sudo apt-get install bash-completion,并检查您的 .bashrc 是否包含以下行(默认情况下我的行):
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
【讨论】:
我实际上喜欢使用命令行 SCP 客户端。 :) 我不知道它是怎么做到的,但我在 Ubuntu 上的 SCP(来自 openssh-client 1:4.7p1-8ubuntu1.2)实际上在我通常通过公钥进行身份验证的主机上对远程目录和文件进行制表符补全。
【讨论】:
据我所知,没有简单的 scp-on-steroids 可以让您在远程文件夹结构上自动完成。如果您只想安装远程文件夹,请查看sshfs。或者只是尝试在 Nautilus 中使用 ssh://... 挂载远程目录。
【讨论】:
我不知道。
我会 $ scp host:file locallocation
【讨论】: