仅具有密码身份验证的SCP不会要求我输入密码


8

我正在尝试使用scp将文件从一台服务器复制到另一台服务器。

在两台服务器上,我都将ssh端口配置为222。两台服务器的sshd_config完全相同(未启用RootLogin,已启用PasswordAuthentication)

由于此处解释的时间太长,我无法使用密钥身份验证。

当我使用scp从服务器A复制到服务器B(登录到A)时,它可以工作。但是当我从B到A做同样的事情(登录到B)时,它不起作用:我收到一条错误消息“权限被拒绝”,并且scp不要求我输入密码(尽管启用了密码身份验证)

这是我使用的命令(登录到服务器B):

scp -P 222 -vvv ~/backup/file user@serverA:/home/user/backup

这是输出的最后几行:

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: password
debug3: start over, passed a different list password
debug3: preferred publickey,keyboard-interactive
debug1: No more authentication methods to try.
user@serverA: Permission denied (password).

为什么scp不要求我输入密码,而启用了“ password”(因为它写在第二行“ debug1”行中)?

谢谢。


您确定user启用了PW身份验证吗?如果我尝试使用PW并-vvv获得以下输出:debug3: send packet: type 50 debug2: we sent a password packet, wait for reply debug3: receive packet: type 51
Lenniey

Answers:


11

最好的解决方案是询问publickey在该服务器上禁用身份验证的人为什么,然后修复该问题。使用publickey身份验证比密码更方便,更安全。

身份验证失败的原因是客户端和服务器上均未启用身份验证方法。在服务器上启用的身份验证方法是:

debug1: Authentications that can continue: password

客户端上启用的身份验证方法是:

debug3: preferred publickey,keyboard-interactive

您可以传递-o PreferredAuthentications=passwordscp仅使用password身份验证。


3
你是我的男人!在服务器B的ssh_config中,将“ UsePasswordAuthentication”设置为“否”。将其更正为“是”,就可以了。非常感谢。
哈肯嫩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.