centos 常规SCP命令失败(VPN/网络激活)[关闭]

a6b3iqyw  于 2022-11-29  发布在  其他
关注(0)|答案(1)|浏览(219)

**已关闭。**此问题为not about programming or software development。目前不接受答案。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site相关,您可以留下评论,说明在何处可以找到此问题的答案。
3天前关闭。
Improve this question
我的开发机器运行在Fedora(36)上。
最近,我尝试将一个文件scp到远程服务器(CentOS 7),并得到一个隐含的错误消息:
scp:目标打开(“”):无此文件或目录
该命令类似于:
scp -C foo.ext user@internal-vpn-ip:~/
没什么特别的,这些年来已经做过很多次了,没有问题。奇怪,我想,一切都在运行,但是scp找不到远程路径。我做了一些实验,扩展了远程用户路径:
scp -C foo.ext user@remote-ip:/path/to/user/
瞧,成功了!
问题是,为什么 ~ 路径扩展不再起作用?

sbdsn5lh

sbdsn5lh1#

看起来在RedHat 9+ SCP中,现在在引擎盖下使用SFTP。
OpenSSH SCP deprecation页面中,有一个与RedHat 9和RedHat 9+之前的系统不兼容和警告的列表,包括以下相关代码片段。
两种协议之间的另一个区别是基于~的路径处理的扩展。OpenSSH 8.7和更高版本支持特殊的SFTP扩展来处理此扩展。遗憾的是,早期版本不支持此扩展,因此如果使用~路径处理,则将文件夹从新版本的RHEL复制到旧版本的RHEL将失败。在这种情况下,建议的修复方法是提供绝对路径。
所以这就解释了需要手动扩展路径。烦人,但至少现在我们知道为什么了:)

相关问题