我有两台服务器(A 和 B)和我的本地计算机。我正在尝试将文件从服务器 A 传输到服务器 B。
从服务器A:
scp ./backup.tar [email protected]:/home/public/
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection
从服务器B:
scp [email protected]:/home/public/backup.tar .
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection
当我从本地计算机尝试时,出现同样的错误消息。这是怎么回事?
这是当我尝试使用调试标志从服务器 A ssh 到服务器 B 时得到的结果:
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/private/.ssh/identity
debug1: Trying private key: /home/private/.ssh/id_rsa
debug1: Trying private key: /home/private/.ssh/id_dsa
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
Permission denied (publickey,password).
这是否意味着它找不到我的终端?我应该提到服务器 B 是服务器 A 的子域。然而,我的托管提供商将它们视为完全不同的实体,并且它们不托管在同一个 LPAR 上。
结论
我已经向我的托管提供商发送了电子邮件,似乎存在与 ssh 和操作系统 (freeBSD) 版本相关的小错误。目前,我的解决方法是 (1) 将文件本地 scp 到我的计算机,然后 (2) 将文件本地 scp 到第二个服务器。这是scp -3
应该做的,但也失败了。
答案1
ssh
这看起来服务器上的配置有问题- 你无法 ssh从其中任何一个(可能出于安全原因)。
你可以试试斯蒂芬的建议从本地计算机进行传输 ( )。这应该排除从终端获取输入的问题(这可能是我故意在服务器上创建的)。scp [email protected]:/home/public/backup.tar [email protected]:/home/public/
如果这没有帮助,则意味着提供商可能不允许传出 ssh 连接。在这种情况下,您将有两个选择:
- 要求提供商启用传出 ssh 连接
或者
答案2
据我了解,以下身份验证似乎可以正常工作localhost
→server.a
和localhost
→ server.b
。所以,ssh server.a
有效,ssh server.b
有效。由于服务器上“读取密码”过程出现一些奇怪的问题,连接server.x
→失败。server.y
最简单的解决方法是配置 ssh 密钥以自动从一台服务器连接到另一台服务器:
server.a$ ssh-keygen #use default answers and empty passphrase
server.a$ ssh-copy-id server.b
这允许server.a
→server.b
与密钥认证的连接。server.b
对另一个方向执行相同的操作。
之后,我希望scp
应该使用自动身份验证,避免“读取密码”问题。