2011-09-29 48 views
1

我正在解决查询数据库,创建csv并将其分配给另一台服务器的ruby脚本的故障。脚本所在的服务器是一个rhel框,运行ruby 1.87我相信。ruby​​ sftp错误密码重置

下面是确实的sftping代码:

Net::SFTP.start(sftp_site, sftp_user, :password => sftp_pswd) do |sftp|  
    sftp.upload!(local_filepath,sftp_dir+filename) 
end 

当执行脚本,有一个奇怪的消息之前就弹了:

Password Reset 

Your password has expired. You are required to change your password to proceed. 

该脚本可以在另一台服务器上,而不是这个。用户可以从这台机器上的提示符输入。 SELinux已关闭,因为它可能有一些干扰。

无论如何,指出,有没有人有任何想法?

+0

是相同的,确切的用户名和密码使用时,测试脚本的机器上的作品和那个不? – jschorr

+0

你在使用MySQL吗?确保此远程主机已被授予连接权限。 – Alpha01

+1

@jschorr,这是正确的。 – Sean

回答

1

它似乎是一个宝石问题(虽然有人在网络上可能已经运作了一些我不知道的魔法)。生产服务器有旧版本的net/ssh和net/sftp gems。它分别具有版本1.1.1和版本1.1.2,并将这些宝石升级到更高版本可以解决问题。

感谢大家谁提出了建议!

0

我会比较sshd守护程序设置(sshd_config),因为在服务器中可能存在问题,无法正常工作。也许交互式键盘身份验证打开或类似的东西?

+0

我会尽快查看。非常感谢给我替代区域看! – Sean

+0

所有迹象都与SSH相关。 [http://www.brandonhutchinson.com/wiki/Red_Hat_Bug_124602_In_Action](http://www.brandonhutchinson.com/wiki/Red_Hat_Bug_124602_In_Action) – Alpha01