我正在尝试使用 Win 10 Bash Shell 将远程主机上的某些文件复制到我的本地计算机,由于安全策略,我只能从远程执行此操作,因此我确保本地端口已打开,登录到远程,然后输入:
scp somefile [email protected]:~/
并提示我输入密码:
[email protected]'s password:
我没有,因为我没有设置任何密码。尝试了远程用户的密码、johndoe
用户密码(通过以用户身份登录johndoe
并运行设置passwd
)和 Windows 10 密码,但都不起作用。然后我尝试提供一个 root 密码,因为我还没有,我运行了
sudo passwd root
并被告知password updated successfully
。但是下次我运行相同的命令时,它只是要求输入新的 UNIX 密码,就好像没有密码一样。而且scp
仍然无法使用此密码。现在我被困住了......
答案1
结果scp
是尝试直接连接到 Windows 10 系统,而不是 Linux 子系统;这就是为什么所有密码都不起作用的原因,因为用户johndoe
首先不存在于我的 Windows 系统上。
为了解决这个问题,我安装了Windows 版 OpenSSHwhoami
然后,我将 Linux 子系统用户名改为我的 Windows 用户名(在 Windows PowerShell 或命令提示符中输入的用户名);scp
仍然不起作用(出现lost connection
错误),但至少sftp
现在可以了:
sftp [email protected]