ruby sftp错误密码重置

时间:2011-09-29 19:50:04

标签: ruby linux sftp

我正在对一个查询数据库的ruby脚本进行故障排除,创建一个csv,并将其转发到另一台服务器。脚本所在的服务器是一个rhel盒子,运行ruby 1.87我相信。

以下是执行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已被关闭,因为它可能有一些干扰。

无论如何,重点是,有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

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

感谢所有提出建议的人!

答案 1 :(得分:0)

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