日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何在java中使用SFTP協議安全的傳輸文件

瀏覽:114日期:2022-08-22 18:24:07

如何在java中使用SFTP協議安全的傳輸文件

本文介紹在Java中如何使用基于SSH的文件傳輸協議(SFTP)將文件從本地上傳到遠程服務器,或者將文件在兩個服務器之間安全的傳輸。我們先來了解一下這幾個協議

SSH 是較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。比如:我們購買的云服務器登陸的時候使用的協議都是ssh。 ftp協議通常是用來在兩個服務器之間傳輸文件的,但是它本質上是不安全的。 那么SFTP是什么?SFTP可以理解為SSH + FTP,也就是安全的網絡文件傳輸協議。

一般來說,SFTP和FTP服務都是使用相應的客戶端軟件來提供服務。如果你希望在java代碼中使用SFTP協議進行安全的文件傳輸,那么這篇文章非常適合你。

1. 導入JSch 依賴包

在maven項目pom.xml中導入如下的坐標,我們使用JSch,JSch將SFTP協議封裝為對應的API供我們調用。

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

2. 文件傳輸 ? JSch例子

2.1 get與put方法

在JSch,我們可以使用put和get在服務器之間進行文件傳輸。put方法用來將文件從本地系統傳輸到遠程服務器。

channelSftp.put(localFile, remoteFile);

get方法將文件從遠程服務器下載到本地系統。

channelSftp.get(remoteFile, localFile);

2.2 使用用戶名和密碼進行認證

JSch jsch = new JSch();jsch.setKnownHosts('/home/zimug/.ssh/known_hosts');jschSession = jsch.getSession(USERNAME, REMOTE_HOST, REMOTE_PORT);jschSession.setPassword(PASSWORD); '/home/zimug/.ssh/known_hosts'為SSH的known_hosts文件,也就是可信遠程主機的公鑰保存文件。 USERNAME 為用戶名 REMOTE_HOST遠程主機的Ip REMOTE_PORT遠程主機端口 PASSWORD遠程主機登錄密碼

2.3.使用公鑰和私鑰進行認證

如果讀者不能理解公鑰和私鑰的用法及含義,需要先自行補充一下SSH知識。

本地私鑰?/home/登錄用戶名/.ssh/id_rsa 遠程公鑰默認保存位置?~/.ssh/authorized_keys

JSch jsch = new JSch();jsch.setKnownHosts('/home/zimug/.ssh/known_hosts');jschSession = jsch.getSession(USERNAME, REMOTE_HOST, REMOTE_PORT);jsch.addIdentity('/home/zimug/.ssh/id_rsa');

2.4 完整JSch文件傳輸示例

將文件從本地系統傳輸到遠程服務器1.2.3.4,并使用SSH密碼登陸方式進行身份驗證。

import com.jcraft.jsch.*;public class SFTPFileTransfer { private static final String REMOTE_HOST = '1.2.3.4'; //遠程主機ip private static final String USERNAME = ''; //登錄用戶名 private static final String PASSWORD = ''; //登陸密碼 private static final int REMOTE_PORT = 22; //ssh協議默認端口 private static final int SESSION_TIMEOUT = 10000; //session超時時間 private static final int CHANNEL_TIMEOUT = 5000; //管道流超時時間 public static void main(String[] args) { String localFile = '/home/zimug/local/random.txt'; //本地文件路徑 String remoteFile = '/home/zimug/remote/targetfile.txt'; //上傳到遠程的文件路徑,要保證登錄用戶有寫權限 Session jschSession = null; try { JSch jsch = new JSch(); jsch.setKnownHosts('/home/zimug/.ssh/known_hosts'); jschSession = jsch.getSession(USERNAME, REMOTE_HOST, REMOTE_PORT); // 通過ssh私鑰的方式登錄認證 // jsch.addIdentity('/home/zimug/.ssh/id_rsa'); // 通過密碼的方式登錄認證 jschSession.setPassword(PASSWORD); jschSession.connect(SESSION_TIMEOUT); Channel sftp = jschSession.openChannel('sftp'); //建立sftp文件傳輸管道 sftp.connect(CHANNEL_TIMEOUT); ChannelSftp channelSftp = (ChannelSftp) sftp; // 傳輸本地文件到遠程主機 channelSftp.put(localFile, remoteFile); channelSftp.exit(); } catch (JSchException | SftpException e) { e.printStackTrace(); } finally { if (jschSession != null) {jschSession.disconnect(); } } System.out.println('文件傳輸完成!'); }}

3. JSch異常處理

在文件上傳的過程中,我們可能會遇到下面的一些異常

3.1UnknownHostKey異常

需要將遠程服務器IP地址添加到known_hosts文件中。

$ ssh-keyscan -t rsa 1.2.3.4 >> ~/.ssh/known_hosts

3.2對于私鑰無效異常

有可能是遠程服務器重新生成了私鑰,需要把私鑰分發復制到本地服務器。

ssh-copy-id -i ~/.ssh/id_rsa.pub <被分發的服務器ip>

3.3對于Auth fail異常

請確保提供的登錄密碼時正確的

com.jcraft.jsch.JSchException: Auth failat com.jcraft.jsch.Session.connect(Session.java:519)at com.zimug.io.howto.SFTPFileTransfer.main(SFTPFileTransfer.java:34)

作者:字母哥博客

以上就是如何在java中使用SFTP協議安全的傳輸文件的詳細內容,更多關于Java 傳輸文件的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日韩在线观看a三区| 久久国产精品色av免费看| 丁香婷婷久久| 精品国产午夜| 日韩欧美二区| 亚洲成人av观看| 国产亚洲欧洲| 亚洲精品自拍| 四虎在线精品| 日韩高清一级| 亚洲青青久久| 国产精品久一| 高潮一区二区| 欧美在线亚洲| 在线精品亚洲| 国产美女精品视频免费播放软件| 欧美91在线| 丝袜诱惑一区二区| 午夜欧美精品| 日韩高清一区在线| 久久久久观看| 久久免费高清| 日韩中文字幕不卡| 亚洲精品大片| 欧美激情亚洲| 欧洲在线一区| 日韩专区欧美专区| 国产精品一区二区三区av| 狠狠久久伊人| 亚洲激精日韩激精欧美精品| 日韩1区2区3区| 成人国产精品久久| 亚洲一区二区成人| 国产三级一区| 群体交乱之放荡娇妻一区二区| 国产农村妇女精品一二区| 国产日产精品_国产精品毛片| 超碰超碰人人人人精品| 伊人成人网在线看| 欧美亚洲tv| 亚洲播播91| 亚洲va久久久噜噜噜久久| 精品久久久中文字幕| 国产亚洲毛片| 成人在线视频免费| 亚洲精品乱码| 另类专区亚洲| 日韩一区二区三区精品视频第3页| 国产999精品在线观看| 欧美精品激情| 麻豆中文一区二区| 国产亚洲永久域名| 麻豆久久久久久| 一区在线观看| 国产精品亚洲产品| 亚洲激情黄色| 精品久久久久中文字幕小说| 亚洲一区二区动漫| 韩国一区二区三区视频| 亚洲欧美视频| 福利精品一区| 婷婷五月色综合香五月| 亚洲天堂资源| 欧美片第1页综合| 精品在线91| 久久精品二区亚洲w码| 羞羞答答国产精品www一本| 久久只有精品| 亚洲精品影视| 欧美freesex黑人又粗又大| 91精品国产自产观看在线| 欧美不卡在线| 精品亚洲成人| 日韩中出av| 日韩制服丝袜av| 国产精品日韩精品中文字幕| 青青国产91久久久久久| 国产午夜精品一区二区三区欧美 | 亚洲啊v在线免费视频| 日韩成人免费| 日本a口亚洲| 亚洲精品午夜av福利久久蜜桃| 精品入口麻豆88视频| 四虎精品一区二区免费| 91精品啪在线观看国产18| 国产精品videosex极品| 一区二区精品| 午夜日韩在线| 麻豆精品蜜桃| 欧美精品aa| 日韩国产在线观看一区| 亚洲免费中文| 午夜免费一区| 99精品美女| 福利在线一区| 欧美激情视频一区二区三区免费| 一区二区日韩免费看| 日韩网站在线| 99久久精品费精品国产| 国产高清不卡| 高清久久一区| 激情久久99| 久久一区亚洲| 久久久亚洲欧洲日产| 国产私拍福利精品视频二区| 日本精品国产| 日韩高清不卡一区二区| 偷拍亚洲精品| 中文字幕成人| 久久亚洲影院| 国产农村妇女精品一二区| 宅男在线一区| 欧美日韩在线网站| 99久久婷婷| 国产在线欧美| 亚洲精品午夜av福利久久蜜桃| 欧美福利在线| 99精品99| 欧美综合二区| 久久国产99| 综合国产在线| 亚洲精品免费观看| 欧美自拍一区| 国产美女精品视频免费播放软件| 日本不卡的三区四区五区| 日韩精品视频中文字幕| 日韩黄色av| 国产欧美日韩在线观看视频| 国产欧美日韩精品一区二区三区| 国产日韩欧美一区二区三区在线观看| 奇米亚洲欧美| 国产精品久久久免费| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 91一区二区| 中文字幕在线视频久| 国产综合色区在线观看| 欧美 日韩 国产精品免费观看| 极品裸体白嫩激情啪啪国产精品| 亚洲一级影院| 国产精品日韩| 日韩1区2区3区| 欧美国产精品| 美女福利一区二区三区| 99久久婷婷这里只有精品| 久久亚洲国产| 99国产精品私拍| 香蕉久久一区| 久久香蕉精品香蕉| 日韩不卡在线| 亚洲少妇诱惑| 欧美日韩伊人| 精品久久视频| 久久久久观看| 国产精品成人国产| 国产精品白丝久久av网站| 日韩高清在线不卡| 久久久久九九精品影院| 四虎884aa成人精品最新| 91精品99| 丝袜美腿亚洲一区| 久久国产精品免费精品3p| 久久精品九色| 激情综合在线| 日韩精品a在线观看91| 精品国产亚洲一区二区在线观看| 亚洲大片在线| 亚洲精品美女91| 久久精品国产一区二区| 久久五月天小说| 午夜视频一区二区在线观看| 麻豆精品在线| 在线成人直播| 国产精品高清一区二区| 日韩欧美一区二区三区免费观看| 黄色亚洲免费| 欧美成人一二区| 国内精品福利| 国产精品久久乐| 女同性一区二区三区人了人一| 青草国产精品| 欧美69视频| 国产精品三p一区二区| 九一成人免费视频| 国产美女精品视频免费播放软件| 亚洲高清不卡| 国产欧美日韩在线观看视频| 欧美日韩第一| 国产精品videossex久久发布| 日韩精品成人在线观看| 亚洲欧美久久| 日本蜜桃在线观看视频| 欧美影院精品| 98精品久久久久久久| 91精品国产91久久久久久黑人| 国产精品久久久免费| 999国产精品| 91成人精品观看| 亚洲韩日在线| 精品久久美女| 91精品在线免费视频|