当我尝试在 Mac OS X Snow Leopard 上使用 scp 从另一台机器复制任何文件时,出现此错误:
scp [email protected]:/home/me/file.zip .
Password:
...
---> Couldn't open /dev/null: Permission denied
这是“ls -l /dev/null”的输出:
crw-rw-rw- 1 root wheel 3, 2 May 14 14:10 /dev/null
我在群组 wheel 中,即使我执行“sudo scp...”也不起作用。这让我抓狂,你有什么建议吗?谢谢!
答案1
我在 OS X 10.6 上一直在使用 scp (和 rsync 等),没有任何问题。
尝试一下这个:
% scp [email protected]:file.zip ./
如果仍然不起作用,请尝试:
% ssh [email protected]
% ls
确保您确实可以与相关机器建立 SSH 连接并查看主目录。
答案2
这很可能是远程主机中的启动文件存在问题。如果您可以正常 ssh 到远程主机,请尝试暂时将您的 .profile、.bashrc(或该主机上可能存在的任何启动文件)移动到其他名称,然后重试 scp 命令。
答案3
我假设 /dev/null 在远程服务器上?您是否尝试过通过 SSH 连接(如 Paul 所建议的)并检查 /dev/null 上的权限?如果不是 666,我认为您应该将其 chmod 为该权限。
答案4
您确定远程路径正确吗?/home/me/file.zip
不是 OS X 上的标准路径——它更像是/Users/me/file.zip
。
使用简单路径进行测试:
主目录中的文件:
scp [email protected]:file.zip .
文件位于/tmp
:
scp [email protected]:/tmp/file.zip .
您在本地的当前目录的状态如何——您是否在不同的终端会话中将其删除,但没有将其从 cd 中退出?
使用显式本地目录进行测试:
scp [email protected]:/Users/me/file.zip /tmp