溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

springboot怎么使用Hutool的JschUtil

發(fā)布時間:2022-08-26 10:46:23 來源:億速云 閱讀:510 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“springboot怎么使用Hutool的JschUtil”,在日常操作中,相信很多人在springboot怎么使用Hutool的JschUtil問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”springboot怎么使用Hutool的JschUtil”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

windows server 2012 R2安裝openssh

windows安裝ssh

linux 本身使用ssh 無需安裝

1.下載

訪問Openssh官網(wǎng)并根據(jù)操作系統(tǒng)的位數(shù)選擇合適的安裝包

springboot怎么使用Hutool的JschUtil

進(jìn)入官網(wǎng)后,根據(jù)操作系統(tǒng)位數(shù)選擇合適的安裝包。不過64位系統(tǒng)也可以支持32位的安裝包。我這里系統(tǒng)64位的安裝的是32位的安裝包。

2.將下載的安裝包解壓至C:/Program Files/目錄下

打開powershell終端,進(jìn)入包含ssh可執(zhí)行exe文件的文件夾 cd C:\OpenSSH-Win32\OpenSSH-Win32。

springboot怎么使用Hutool的JschUtil

3.安裝ssh服務(wù)

在powershell終端輸入下面指令:

 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

安裝成功后如下所示:

springboot怎么使用Hutool的JschUtil

4.配置ssh服務(wù)

  • 在防火墻開啟端口22端口號:在powershell中輸入以下指令:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

springboot怎么使用Hutool的JschUtil

啟動ssh服務(wù)

net start sshd

5.添加環(huán)境系統(tǒng)變量

springboot怎么使用Hutool的JschUtil

將包含ssh可執(zhí)行exe文件所在路徑(我這里是:C:\Program Files\OpenSSH-Win32\OpenSSH-Win32)添加到環(huán)境系統(tǒng)變量中。

springboot怎么使用Hutool的JschUtil

最后打開cmd或者powershell,輸入ssh出現(xiàn)如下圖所示,就代表已經(jīng)安裝成功。

springboot怎么使用Hutool的JschUtil

6.設(shè)置開機(jī)sshd服務(wù)開機(jī)自啟

依次打開“服務(wù)器管理器”——》“工具”——》“服務(wù)”

springboot怎么使用Hutool的JschUtil

進(jìn)入服務(wù)列表界面,找到OpenSSH SSH Server服務(wù)

springboot怎么使用Hutool的JschUtil

將下圖中 openssh authentication agent按照上圖也進(jìn)行同樣操作。

springboot怎么使用Hutool的JschUtil

本身自帶ssh服務(wù)的windows(例如windows10) 開啟ssh服務(wù)

1.客戶端安裝

開始 -> 應(yīng)用與功能 -> 可選功能 -> 添加功能

列表中有OpenSSH客戶端的選項(xiàng)

點(diǎn)擊安裝OpenSSH客戶端

安裝之后可使用Windows PowerShell直接使用ssh命令

2.服務(wù)端安裝

開始 -> 應(yīng)用與功能 -> 可選功能 -> 添加功能

列表中有OpenSSH服務(wù)器的選項(xiàng)

點(diǎn)擊安裝OpenSSH服務(wù)器

服務(wù)端安裝完之后需要進(jìn)行一些配置

3.服務(wù)端配置

使用管理員身份運(yùn)行Windows PowerShell

開啟SSHD服務(wù)

Start-Service sshd

設(shè)置服務(wù)自動啟動

Set-Service -Name sshd -StartupType 'Automatic'

確認(rèn)防火墻是否開放

Get-NetFirewallRule -Name *ssh*

查看OpenSSH-Server-In-TCP的enable是否為True

配置完成之后其他客戶端可使用ssh連接windows,用戶名和密碼就是windows的用戶名和密碼

springboot使用

引入hutool

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.4</version>
</dependency>

引入 jsch

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>

使用方式

上傳
@Test
void test18() {
//測試目錄
    String linuxPath = "/var/file/test/";
    //創(chuàng)建session連接
    Session sessionLinux = JschUtil.getSession("106.12.127.40", 22,"root", "Ocean@123");
// 1.文件操作
    // 建立sftp
    Sftp sftp = JschUtil.createSftp(sessionLinux);
    //進(jìn)入輸入目錄
    sftp.cd(linuxPath);
    //文件名稱
    String fileName = "Sftp創(chuàng)建文件夾于"+DateUtil.format(new Date(), "yyyy年MM月dd日HH時mm分ss秒");
    //1.創(chuàng)建文件夾
    sftp.mkdir(fileName);
    System.out.println("=========================1.遠(yuǎn)程文件操作=========================");
    System.out.println(fileName+",文件是否存在?"+sftp.exist(linuxPath+fileName));
    //刪除文件
    sftp.delDir(linuxPath+fileName);
    System.out.println(fileName+",文件是否存在?"+sftp.exist(linuxPath+fileName));
    System.out.println();
//2.上傳文件
    // 本地新建文件
    System.out.println("=========================2.上傳文件操作=========================");
    String localFile = DateUtil.format(new Date(), "yyyy年MM月dd日HH時mm分ss秒")+".txt";
    System.out.println(localFile);
    FileWriter fileWriter = new FileWriter(localFile);
    // 寫入內(nèi)容
    File file = fileWriter.write("123");
    fileWriter.append("追加信息");
    System.out.println(file.getPath());
    sftp.upload(linuxPath, file);
    //upload方法
    System.out.println("1.upload方法");
    System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+localFile));
    sftp.delFile(linuxPath+localFile);
    System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+fileName));
    sftp.put(file.getPath(),linuxPath);
    //put方法
    System.out.println("2.put方法");
    System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+localFile));
    sftp.delFile(linuxPath+localFile);
    System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+fileName));
    //刪除本地文件
    FileUtil.del(file);
}

運(yùn)行結(jié)果:

springboot怎么使用Hutool的JschUtil

到此,關(guān)于“springboot怎么使用Hutool的JschUtil”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI