我试图通过客户端提供给我的用户名和密码SFTP到服务器,但我一直Disconnected: No supported authentication methods available (server sent: publickey) 。 我在Ubuntu 13.10上,我试过在terminal上使用Filezilla gui以及sftp -vv user@host和lftp -u user sftp://host 。
以下是我在debugging中从Filezilla获得的输出:详细模式:
Response: fzSftp started Trace: CSftpControlSocket::ConnectParseResponse(fzSftp started) Trace: CSftpControlSocket::SendNextCommand() Trace: CSftpControlSocket::ConnectSend() Command: open "user@host" 22 Trace: Server version: SSH-2.0-CoreFTP-0.3.1 Trace: Using SSH protocol version 2 Trace: We claim version: SSH-2.0-PuTTY_Local:_Sep_14_2013_01:12:43 Trace: Using Diffie-Hellman with standard group "group14" Trace: Doing Diffie-Hellman key exchange with hash SHA-1 Trace: Host key fingerprint is: Trace: ssh-rsa 1024 b1:ac:c5:b6:d2:b8:d3:ef:fc:d2:b3:d8:06:2c:d2:25 Trace: Initialised AES-256 SDCTR client->server encryption Trace: Initialised HMAC-SHA1 client->server MAC algorithm Trace: Initialised AES-256 SDCTR server->client encryption Trace: Initialised HMAC-SHA1 server->client MAC algorithm Trace: Pageant is running. Requesting keys. Trace: Pageant has 1 SSH-2 keys Trace: Trying Pageant key #0 Trace: Sending Pageant's response Trace: Access denied Trace: Disconnected: No supported authentication methods available (server sent: publickey) Error: Disconnected: No supported authentication methods available (server sent: publickey) Trace: CSftpControlSocket::ResetOperation(66) Trace: CControlSocket::ResetOperation(66) Error: Could not connect to server
sftp -vv输出类似。 看起来,Pageant在密码之前提供了我的公钥(这是正常的),但是却没有继续进行密码validation。 有没有一种方法来强制密码authentication(即绕过所有的网页)? 我必须能够通过此连接bash脚本操作,所以使用sftp或lftp命令将是必要的。 有一个标志,我可以设置来完成这个? 我查看了手册页,但没有find我正在寻找的东西。
在客户端的服务器上总会有错误configuration的机会,但由于客户端能够从这个帐户login没有问题,我怀疑这个问题是在我的身边。
UPDATE
客户端能够使用Windows上的Filezilla使用此帐户login服务器,排除其服务器configuration为只允许公共密钥validation的可能性。 这是一个IT部门的大公司,有很多这样的账户,所以假设他们以前做过这样的事情是相当安全的。 这里是他们debugging的输出:Verbose in Filezilla:
Status: Connecting to host:22... Trace: Going to execute "C:\Program Files\FileZilla FTP Client\fzsftp.exe" Response: fzSftp started Trace: CSftpControlSocket::ConnectParseResponse(fzSftp started) Trace: CSftpControlSocket::SendNextCommand() Trace: CSftpControlSocket::ConnectSend() Command: open "user@host" 22 Trace: Looking up host "host" Trace: Connecting to xxx.xxx.xxx.xxx port 22 Trace: Server version: SSH-2.0-CoreFTP-0.3.1 Trace: Using SSH protocol version 2 Trace: We claim version: SSH-2.0-PuTTY_Local:_Jun_15_2008_14:47:43 Trace: Using Diffie-Hellman with standard group "group14" Trace: Doing Diffie-Hellman key exchange with hash SHA-1 Trace: Host key fingerprint is: Trace: ssh-rsa 1024 b1:ac:c5:b6:d2:b8:d3:ef:fc:d2:b3:d8:06:2c:d2:25 Trace: Initialised AES-256 SDCTR client->server encryption Trace: Initialised HMAC-SHA1 client->server MAC algorithm Trace: Initialised AES-256 SDCTR server->client encryption Trace: Initialised HMAC-SHA1 server->client MAC algorithm Command: Pass: ******** Trace: Sent password Trace: Access granted Trace: Opened channel for session Trace: Started a shell/command Status: Connected to host Trace: CSftpControlSocket::ConnectParseResponse() Trace: CSftpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Status: Retrieving directory listing... Trace: CSftpControlSocket::SendNextCommand() Trace: CSftpControlSocket::ChangeDirSend() Command: pwd Response: Current directory is: "/"
服务器被configuration为只允许公钥authentication,而不是密码。 你可以在这里看到:
Trace: Disconnected: No supported authentication methods available (server sent: publickey) Error: Disconnected: No supported authentication methods available (server sent: publickey)