成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用jsch修改linux主機(jī)密碼

IT那活兒 / 2751人閱讀
使用jsch修改linux主機(jī)密碼

點(diǎn)擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


最近有一個(gè)修改linux主機(jī)過期密碼的需求,因?yàn)樯婕爸刂妹艽a的過程比較麻煩,中間要設(shè)置好幾次臨時(shí)密碼。那么通過程序來實(shí)現(xiàn)的話就比較簡單了。

1

使用工具

我使用的是jsch。首先介紹下:

jsch是SSH2的一個(gè)純Java實(shí)現(xiàn)。它允許你連接到一個(gè)sshd 服務(wù)器,使用端口轉(zhuǎn)發(fā),X11轉(zhuǎn)發(fā),文件傳輸?shù)鹊取?/span>你可以將它的功能集成到你自己的程序中。同時(shí)該項(xiàng)目也提供一個(gè)J2ME版本用來在手機(jī)上直連SSHD服務(wù)器。

jsch進(jìn)行服務(wù)器連接時(shí)可以看作類似java的jdbc連接,首先需要實(shí)例化一個(gè)jsch對象,再利用這個(gè)對象根據(jù)用戶名,主機(jī)ip,端口獲取一個(gè)Session對象,設(shè)置好相應(yīng)的參數(shù)后,進(jìn)行連接,創(chuàng)建連接后,這個(gè)Session時(shí)一直可用的,所以不需要關(guān)閉。之后我們需要在Session上建立channel通道。如下圖:

那么到這里,基本就可以去實(shí)現(xiàn)自己的邏輯了。

2

實(shí)現(xiàn)過程

跟著上面步驟繼續(xù)走,我們通過jsch連接到對應(yīng)的linux主機(jī)上執(zhí)行修改密碼的shell命令,對linux主機(jī)密碼進(jìn)行修改。這一塊對于linux主機(jī)未過期的密碼進(jìn)行修改通過直連比較容易實(shí)現(xiàn)的。

那么在linux主機(jī)密碼已經(jīng)過期的情況下對linux主機(jī)密碼進(jìn)行重置時(shí),我發(fā)現(xiàn)到通過jsch直連linux主機(jī)根本行不通。因?yàn)檫@時(shí)使用過期密碼直連linux主機(jī)相當(dāng)于密碼錯(cuò)誤。

接下來我就找一個(gè)linux主機(jī)用戶密碼過期的例子。

上圖在linux主機(jī)上可以看出主機(jī)密碼已經(jīng)過期,那我們通過jsch連一下看看:

如上圖,我們會(huì)發(fā)現(xiàn)直連不了對應(yīng)主機(jī)。這也相當(dāng)于通過jdbc的方式連接數(shù)據(jù)庫時(shí),密碼錯(cuò)誤一樣。

那我是怎么處理的呢?

我用很簡單的方式:找一個(gè)能跳轉(zhuǎn)的linux主機(jī),注意此跳轉(zhuǎn)機(jī)的用戶密碼不能過期哦。通過jsch直連跳轉(zhuǎn)機(jī),然后在跳轉(zhuǎn)機(jī)上執(zhí)行ssh -l username ip 命令,連接到要修改密碼的linux主機(jī)用戶,此時(shí)通過模擬主機(jī)真實(shí)場景。在jsch channel中實(shí)現(xiàn)與主機(jī)的交互實(shí)現(xiàn)修改密碼。

執(zhí)行ssh -l username ip 命令,檢查密碼過期:

執(zhí)行ssh -l username ip 命令,修改過期密碼:

驗(yàn)證密碼修改成功。

此處我只修改了一次密碼,重置密碼的邏輯可以通過程序循環(huán)多修改幾次實(shí)現(xiàn)。


END



本文作者:段席超

本文來源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129463.html

相關(guān)文章

  • JSch-用java實(shí)現(xiàn)服務(wù)器遠(yuǎn)程操作

    摘要:主要是將一個(gè)服務(wù)集群部署到遠(yuǎn)端的服務(wù)器上,具體服務(wù)器的連接信息會(huì)通過接口傳入。本來部署是人工來完成的,無非是將一些必須的文件到目標(biāo)服務(wù)器上,然后遠(yuǎn)程登錄,執(zhí)行一些安裝的操作,齊活。 介紹 前段時(shí)間接了一個(gè)比較特殊的需求,需要做一個(gè)用于部署服務(wù)的服務(wù)。主要是將一個(gè)k8s服務(wù)集群部署到遠(yuǎn)端的服務(wù)器上,具體服務(wù)器的連接信息會(huì)通過接口傳入。 本來部署是人工來完成的,無非是將一些必須的文件s...

    孫吉亮 評論0 收藏0
  • 【云主機(jī)安全】為Linux主機(jī)添加新賬戶并禁用root遠(yuǎn)程登錄

    摘要:系統(tǒng)下直接用用戶登錄是比較不安全的,所以我們拿到云主機(jī)后的第一件事就應(yīng)該是創(chuàng)建一個(gè)普通用戶,并禁用權(quán)限來保障主機(jī)安全。創(chuàng)建新用戶并設(shè)置登錄密碼。重啟再次通過登錄,已提示限制登錄,使用和新設(shè)置的密碼登錄提示登錄成功。linux系統(tǒng)下直接用root用戶登錄是比較不安全的,所以我們拿到云主機(jī)后的第一件事就應(yīng)該是創(chuàng)建一個(gè)普通用戶,并禁用root權(quán)限來保障主機(jī)安全。以下是詳細(xì)的操作步驟。創(chuàng)建新用戶并設(shè)...

    Tecode 評論0 收藏0
  • Linux常用命令

    摘要:默認(rèn)的系統(tǒng)管理員的為,我們添加用戶的時(shí)候最好使用以上的,范圍的最好保留給系統(tǒng)用。臨時(shí)修改主機(jī)名新主機(jī)名永久修改主機(jī)名文件中修改文件存放的是域名與的對應(yīng)關(guān)系添加一個(gè)新主機(jī)名到原文地址 安裝 Git 安裝: sudo apt-get install git 安裝 Nginx 安裝: sudo apt-get install nginx 啟動(dòng): sudo /etc/init.d/ngi...

    remcarpediem 評論0 收藏0
  • Linux常用命令

    摘要:默認(rèn)的系統(tǒng)管理員的為,我們添加用戶的時(shí)候最好使用以上的,范圍的最好保留給系統(tǒng)用。臨時(shí)修改主機(jī)名新主機(jī)名永久修改主機(jī)名文件中修改文件存放的是域名與的對應(yīng)關(guān)系添加一個(gè)新主機(jī)名到原文地址 安裝 Git 安裝: sudo apt-get install git 安裝 Nginx 安裝: sudo apt-get install nginx 啟動(dòng): sudo /etc/init.d/ngi...

    baukh789 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<