當他們在談論 sftp 連接失敗的時候,他們在談論什麼

一、引言

最近在工作中遇到了一個匪夷所思的問題:

生產上有這麼一個每日運行的定時任務:
它作爲 sftp 客戶端連接到某另一生產環境,在那個生成環境中指定位置放置一個每日定時生成的數據文件。

問題來了,突然從某一天開始,後面的每一次都提示 sftp 連接失敗。

遇到這個問題,我首先想到的是,是不是另一個生產環境的 sftp 端口被牆了或者掛掉了(他們沒使用默認的 22 端口),於是乎我首先做的就是 telnet:

$ telnet xxx.xxx.xxx.xxx yyy

其中 xxx.xxx.xxx.xxx 就是 sftp 服務端的 ip 地址,yyy 就是他們提供給我們的 sftp 端口。

結果發現 telnet 是通的。

這就奇怪了,sftp 之前都是正常,突然某一天開始,就突然不行了,但是對方的 sftp 服務和端口都是正常的。

匪夷所思啊 T_T

二、解決

最後問題的解決是非常啼笑皆非的:

對方在分配給我們的 sftp linux 用戶的時候,設置了默認的用戶密碼 90 天,90 天過後,這個密碼就自動失效,於是 sftp 就失敗了。

問題的解決就是這麼簡單:

$ chage -E 2100-12-12 foo

上述 chage 命令 -E 指定 foo 用戶的 密碼在 2100-12-12 纔會過期,該問題解決。

用戶密碼過期的原因有些難以想到,因此特此記錄下,希望能給遇到同樣問題的朋友一些幫助:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章