Net :: SFTP :: Foreign不适用于从HP-UX连接到Windows主机

时间:2016-11-19 00:23:22

标签: perl unix connection sftp hp-ux

我使用$ftp = Net::SFTP::Foreign->new(%args);从HP-UX向Linux机器sftp。它没有任何问题。

当我尝试连接到Windows上安装的SFTP服务器时,它不起作用 使用Connection to remote server is broken选项时,$ ftp->错误包含login procedure timed out错误和more => '-v'

当我用more => '-vvv'运行它时,我得到了以下日志。任何人都可以帮助我理解这个问题并帮助解决它吗?

debug1: Host 'windowsHost' is known and matches the RSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:3
debug2: bits set: 4101/8192
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: input_userauth_banner
Welcome! Please login.
debug1: Authentications that can continue: password,publickey,keyboard-interactive
debug3: start over, passed a different list password,publickey,keyboard-interactive
debug3: preferred keyboard-interactive,password
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
password
Enter password for user
debug2: input_userauth_info_req: num_prompts 1
debug1: Authentications that can continue: password,publickey,keyboard-interactive
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: 
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug3: packet_send2: adding 64 (len 55 padlen 9 extra_pad 64)
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: password,publickey,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (password,publickey,keyboard-interactive).

请注意,它适用于Linux主机

(来自评论的每个请求) 尝试通过SSH从unix连接到SFTP服务器。我不相信它应该起作用而且它不会......

unixServerName ENV:/home/me/scripts/perl=>ssh user\@windowsHost
password
Enter password for user
Password:
shell request failed on channel 0
unixServerName ENV:/home/me/scripts/perl=>

现在从命令行使用SFTP

unixServerName ENV:/home/me/scripts/perl=>sftp user\@windowsHost
password
Enter password for user
Password:
Connected to windowsHost.
sftp>
sftp> quit
unixServerName ENV:/home/me/scripts/perl=>

1 个答案:

答案 0 :(得分:1)

问题是由密码中的('#')井号字符引起的。超级怪。我能够在2个不同供应商的服务器上重现这个问题。所以这肯定是Net :: SFTP :: Foreign

中的一个错误

请注意,这只发生在Windows主机上,适用于Unix HP和Linux主机。

为了使我的论证更强一些,从命令行SSH和SFTP一切正常。