从 ssh 会话到本地主机的 SCP 文件
SCP file from ssh session to localhost
我有一个无头文件服务器,我在上面存储和管理下载和媒体,但偶尔我必须将小文件传输回我的计算机(Mac,使用 bash shell).问题是有些文件的名字比较好听,里面通常有空格,而且它们被隐藏在我在我的服务器上设置的文件目录层次结构中。
当我在本地机器上使用 scp
时,我没有制表符补全功能,所以我必须手动输入完整的路径和名称并用空格转义。当我ssh
先进入服务器时,命令:
scp /home/me/files/file\ name\ with\ spaces.png Me@localhost:/Users/Me/MyDirectory
即使我正确输入了我的本地计算机用户密码,也会失败并显示错误 "Permission denied, please try again"。
我学习了一些 sftp
,因为有人告诉我这可能是更好的文件传输工具。但是,该实用程序似乎已过时,在建立与服务器的连接后我仍然没有完成制表符(在我的终端上按 Tab
时我只得到一个制表符)。
我的问题是:在使用我的 Mac 中的 scp
时,我该怎么做才能允许制表符补全?或者我在 ssh
会话中对 scp
使用了不正确的语法,我应该修复该命令中的某些内容吗?或者,是否有除 sftp 之外的(更好?更新?)工具可以在服务器上提供制表符完成功能?
最后,如果 none 这些问题有简单的解决方案,是否有一些我可以安装的包(例如来自 Homebrew 的完成包等)可以促进使用这些命令中的任何命令更好地完成制表符?
在我看来这有些不正确 scp
ing。
这是命令的格式
scp ./localFile.txt remoteUser@remoteHost:/remoteFile.txt
你离得太近了,但你localhost
设置了你应该remoteHost
的地方。
localhost
是解析为您当前所在的 machine 的名称 - 因此在您的工作流程中,您正在 ssh
ing 到 machine ,然后尝试 scp
该文件到您已经 ssh
进入的相同 machine。
您需要做的是找出您尝试连接的计算机的 IP 地址或物理主机名,然后改用它。
scp ./localFile.txt remoteUser@192.168.1.100:/remoteFile.txt
# where 192.168.1.100 would be the IP of your Mac
我假设您被拒绝许可的原因是因为您使用了您的登录凭据 mac,但在不知不觉中尝试再次登录您的无头 machine。
我有一个无头文件服务器,我在上面存储和管理下载和媒体,但偶尔我必须将小文件传输回我的计算机(Mac,使用 bash shell).问题是有些文件的名字比较好听,里面通常有空格,而且它们被隐藏在我在我的服务器上设置的文件目录层次结构中。
当我在本地机器上使用 scp
时,我没有制表符补全功能,所以我必须手动输入完整的路径和名称并用空格转义。当我ssh
先进入服务器时,命令:
scp /home/me/files/file\ name\ with\ spaces.png Me@localhost:/Users/Me/MyDirectory
即使我正确输入了我的本地计算机用户密码,也会失败并显示错误 "Permission denied, please try again"。
我学习了一些 sftp
,因为有人告诉我这可能是更好的文件传输工具。但是,该实用程序似乎已过时,在建立与服务器的连接后我仍然没有完成制表符(在我的终端上按 Tab
时我只得到一个制表符)。
我的问题是:在使用我的 Mac 中的 scp
时,我该怎么做才能允许制表符补全?或者我在 ssh
会话中对 scp
使用了不正确的语法,我应该修复该命令中的某些内容吗?或者,是否有除 sftp 之外的(更好?更新?)工具可以在服务器上提供制表符完成功能?
最后,如果 none 这些问题有简单的解决方案,是否有一些我可以安装的包(例如来自 Homebrew 的完成包等)可以促进使用这些命令中的任何命令更好地完成制表符?
在我看来这有些不正确 scp
ing。
这是命令的格式
scp ./localFile.txt remoteUser@remoteHost:/remoteFile.txt
你离得太近了,但你localhost
设置了你应该remoteHost
的地方。
localhost
是解析为您当前所在的 machine 的名称 - 因此在您的工作流程中,您正在 ssh
ing 到 machine ,然后尝试 scp
该文件到您已经 ssh
进入的相同 machine。
您需要做的是找出您尝试连接的计算机的 IP 地址或物理主机名,然后改用它。
scp ./localFile.txt remoteUser@192.168.1.100:/remoteFile.txt
# where 192.168.1.100 would be the IP of your Mac
我假设您被拒绝许可的原因是因为您使用了您的登录凭据 mac,但在不知不觉中尝试再次登录您的无头 machine。