首頁 > Java > java教程 > 主體

springboot怎麼使用Hutool的JschUtil

王林
發布: 2023-05-11 11:07:05
轉載
1941 人瀏覽過

windows server 2012 R2安裝openssh

windows安裝ssh

linux 本身使用ssh 無需安裝

1.下載

訪問Openssh官網並根據作業系統的位元數選擇適當的安裝套件

springboot怎麼使用Hutool的JschUtil

#進入官網後,依照作業系統位元數選擇合適的安裝套件。不過64位元系統也可以支援32位元的安裝包。我這裡系統64位的安裝的是32位元的安裝包。

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

開啟powershell終端,進入包含ssh可執行exe檔的資料夾cd C:\OpenSSH-Win32 \OpenSSH-Win32。

springboot怎麼使用Hutool的JschUtil

3.安裝ssh服務

在powershell終端機輸入下方指令:

 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
登入後複製

安裝成功後如下所示:

springboot怎麼使用Hutool的JschUtil

4.設定ssh服務

  • 在防火牆開啟連接埠22埠號:在powershell中輸入以下指令:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
登入後複製

springboot怎麼使用Hutool的JschUtil

啟動ssh服務

net start sshd
登入後複製

#5.新增環境系統變數

springboot怎麼使用Hutool的JschUtil

將包含ssh可執行exe檔所在路徑(我這裡是:C:\Program Files\OpenSSH-Win32\OpenSSH-Win32)加入到環境系統變數中。

springboot怎麼使用Hutool的JschUtil

最後開啟cmd或powershell,輸入ssh出現如下圖所示,就代表已經安裝成功。

springboot怎麼使用Hutool的JschUtil

6.設定開機sshd服務開機自啟動

#依序開啟「伺服器管理員」——》「工具」——》 「服務」

springboot怎麼使用Hutool的JschUtil

進入服務清單介面,找到OpenSSH SSH Server服務

springboot怎麼使用Hutool的JschUtil

將下圖中openssh authentication agent按照上圖也進行同樣操作。

springboot怎麼使用Hutool的JschUtil

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

1.客戶端安裝

##開始->應用與功能->選用功能-> 新增功能

清單中有OpenSSH客戶端的選項

點選安裝OpenSSH客戶端

安裝後可使用Windows PowerShell直接使用ssh指令

2.服務端安裝

開始-> 應用與功能->可選功能-> 新增功能

清單中有OpenSSH伺服器的選項

點擊安裝OpenSSH伺服器

服務端安裝完之後需要進行一些設定

3.服務端設定

使用管理員身分執行Windows PowerShell

開啟SSHD服務

Start-Service sshd
登入後複製

設定服務自動啟動

Set-Service -Name sshd -StartupType 'Automatic'
登入後複製

確認防火牆是否開放

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/";
    //创建session连接
    Session sessionLinux = JschUtil.getSession("106.12.127.40", 22,"root", "Ocean@123");
// 1.文件操作
    // 建立sftp
    Sftp sftp = JschUtil.createSftp(sessionLinux);
    //进入输入目录
    sftp.cd(linuxPath);
    //文件名称
    String fileName = "Sftp创建文件夹于"+DateUtil.format(new Date(), "yyyy年MM月dd日HH时mm分ss秒");
    //1.创建文件夹
    sftp.mkdir(fileName);
    System.out.println("=========================1.远程文件操作=========================");
    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);
    // 写入内容
    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);
}
登入後複製
運行結果:

以上是springboot怎麼使用Hutool的JschUtil的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板