scp 工作正常,但现在当我这样做时
$ scp /path/to/local/file [email protected]
它不会询问我的密码,但不会立即返回任何内容,并且会生成一个名为“的新文件”[电子邮件受保护]" 已在目录中创建。
另外,我没有问题 ssh 到服务器,它要求我输入密码,我可以成功登录。
$ ssh [email protected]
我周末做了一些配置,将 VIM 设置为 C++ 的 IDE,所以我可能弄乱了一些东西?如果这些信息有帮助的话,我还创建了一个新的 anaconda 环境来运行 Python3。
答案1
您需要告诉scp
您正在复制到远程,:
并使用(可选)目标上的路径:
scp /path/to/local/file [email protected]:/path/to/remote
如果您只是指定:
它将使用默认路径,可能myusername
是主目录servername.com
:
scp /path/to/local/file [email protected]:
答案2
因为scp
可以用来复制文件到服务器,或从程序使用服务器的存在来:
确定发送方式。没有 a:
就没有主机名因此它假设这两个文件都是本地的。
所以
scp x a@b
会将x
和a@b
视为本地文件。
你不需要指定目标路径,但您确实需要:
scp x a@b:
如果没有指定路径,那么它将使用默认目录(通常是远程目录$HOME
),就像您指定的一样a@b:.
答案3
默认情况下,scp
假定您需要本地文件,除非您使用:
.
例如,将执行您想要的操作:在您的计算机上调用的默认目录中创建一个文件,其中包含 的内容。scp /path/to/local/file [email protected]:./
myusername
servername.com
file
/path/to/local/file