无法通过 SCP 进入 Oracle VM,SSH 正在运行

无法通过 SCP 进入 Oracle VM,SSH 正在运行

我有一个运行着 Ubuntu 的 Oracle OCI 实例,我正在尝试将我的网站上传到其中。我已启用 HTTP 连接,一切似乎都运行正常(我可以在 /var/www/html 下看到我的索引 html 页面,并且可以通过在浏览器中输入实例公共 IP 来访问它)

当我创建实例时,我保存了我的公钥和私钥 ssh 密钥,并且我可以从 Windows 中的 CMD 通过 ssh 连接到它(我正在使用 Windows 连接到这个 OCI ubuntu 实例)。

因此,这个命令运行正常,我能够连接:

C:\Users\andrei\Desktop> ssh -i website/ssh-key-2022-08-25.key [email protected]

但是,我想将我的整个网站从本地计算机传输C:/wamp64/www到 OCI 下的 Ubuntu 服务器......但不知何故,它不起作用。

这是我正在使用但不起作用的命令:

C:\Users\andrei\Desktop>scp prod.rar -i website/ssh-key-2022-08-25.key [email protected]:/home/ubuntu
[email protected]: Permission denied (publickey).
lost connection

我尝试使用 WINSCP 以及 Windows 终端中的 SCP 命令,但都不起作用,出现以下错误:

[email protected]: Permission denied (publickey).
lost connection.

我有 2 个密钥文件(一个私钥,一个公钥 - .key 和 .key.pub)。当我将私钥输入 WINSCP 时,它会为我生成一个 .ppk 文件,如果我将此文件输入 Putty->Connection->SSH->Auth ,putty 就可以正常工作。但是,如果我将此文件输入 WINSCP ,它就不起作用了。

失败的原因如下:

Authentication log (see session log for details):
Using username "ubuntu".
Server refused our key.
Authentication failed.

基本上,ssh 使用密钥工作,但 scp 则不然。

我还设置了来自 OCI 的入口规则,并接受来自任何来源(0.0.0.0/0)的端口 22、80、3306 等。

以下是 WINSCP 日志:

. 2022-08-25 14:31:09.555 --------------------------------------------------------------------------
. 2022-08-25 14:31:09.580 Looking up host "193.122.2.213" for SSH connection
. 2022-08-25 14:31:09.580 Connecting to 193.122.2.213 port 22
. 2022-08-25 14:31:09.639 We claim version: SSH-2.0-WinSCP_release_5.19.6
. 2022-08-25 14:31:09.654 Remote version: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3
. 2022-08-25 14:31:09.654 Using SSH protocol version 2
. 2022-08-25 14:31:09.654 Have a known host key of type ssh-ed25519
. 2022-08-25 14:31:09.701 Doing ECDH key exchange with curve Curve25519 and hash SHA-256
. 2022-08-25 14:31:09.802 Server also has ecdsa-sha2-nistp256 host key, but we don't know it
. 2022-08-25 14:31:09.802 Host key fingerprint is:
. 2022-08-25 14:31:09.802 ssh-ed25519 255 ad:82:3a:1e:bc:f6:10:df:cd:05:00:55:ba:e2:96:98 20P3/JDC3v/ziBMXtkq+AU4T377feHIHTHcb6AmFqL4=
. 2022-08-25 14:31:09.825 Host key matches cached key
. 2022-08-25 14:31:09.825 Initialised AES-256 SDCTR (AES-NI accelerated) [aes256-ctr] outbound encryption
. 2022-08-25 14:31:09.825 Initialised HMAC-SHA-256 outbound MAC algorithm
. 2022-08-25 14:31:09.826 Initialised AES-256 SDCTR (AES-NI accelerated) [aes256-ctr] inbound encryption
. 2022-08-25 14:31:09.826 Initialised HMAC-SHA-256 inbound MAC algorithm
. 2022-08-25 14:31:09.857 Reading key file "C:\Users\andrei\Desktop\website\ssh-key-2022-08-25.ppk"
! 2022-08-25 14:31:09.858 Using username "ubuntu".
. 2022-08-25 14:31:09.909 Server offered these authentication methods: publickey
. 2022-08-25 14:31:09.909 Offered public key
! 2022-08-25 14:31:09.947 Server refused our key
. 2022-08-25 14:31:09.994 Server refused our key
. 2022-08-25 14:31:09.994 Server offered these authentication methods: publickey
. 2022-08-25 14:31:09.994 No supported authentication methods available (server sent: publickey)
. 2022-08-25 14:31:09.994 Attempt to close connection due to fatal exception:
* 2022-08-25 14:31:09.994 No supported authentication methods available (server sent: publickey)
. 2022-08-25 14:31:09.994 Closing connection.
* 2022-08-25 14:31:10.018 (EFatal) No supported authentication methods available (server sent: publickey)
* 2022-08-25 14:31:10.018 Authentication log (see session log for details):
* 2022-08-25 14:31:10.018 Using username "ubuntu".
* 2022-08-25 14:31:10.018 Server refused our key.
* 2022-08-25 14:31:10.018 
* 2022-08-25 14:31:10.018 Authentication failed.

我能做些什么?

我刚刚创建了另一个实例,但这次是在 Oracle Linux 上,而不是 Ubuntu 上,并且 SCP 和 ssh 都可以正常工作,无需进行任何其他修改。刚刚创建了它,输入了密钥,它就可以正常工作了。我该怎么做才能让它在 Ubuntu 上运行?

答案1

我遇到了同样的问题,将 winscp 更新到最新版本(当前为 5.21.3)即可解决问题。SSH 错误:https://winscp.net/tracker/1952

相关内容