如何升级jsch-0.1.53.jar

如何升级jsch-0.1.53.jar,第1张

首先这里需要介绍一个新朋友给大家,就是他JSch。

这里简单介绍一下JSch,他是是SSH2的一个纯Java实现。Java中可以通过使用JSch来连接到sshd 服务器上,并进行文件的下载删除上传等 *** 作。

2

JSch下载地址为可以直接百度一下。

找到Download,如图所示:

这里我们看到有两个可以下载的,一个是.zip,一个是.jar。

jsch-0.1.53.zip:为JSch的源码压缩包,有兴趣的码友可以下载下来研究一下。

jsch-0.1.53.jar:为JSch的编译好的jar包,开发时放到工程中即可。

这里我们就直接下载jsch-0.1.53.jar了。

END

JSch使用

我们将下载好的jsch-0.1.53.jar包放在我们的工程下方,并将jar包引入到工程中。

在工程中定义一个连接SFTP的类,这里我们定义为SFTPUtil.java。

大家可以根据自己需要进行定义。

首先我们需要在类中定义几个静态变量。

主机地址、端口号、用户名、密码

接下来我们定义链接到该服务器的方法名,这里命名该方法名为connect。

创建服务器连接的过程大致为一下几点:

1、创建session,将服务器地址信息放入session;

2、建立连接;

3、打开channel;

4、链接成功;

因为安全原因,需要SFTP协议(sftp是SecureFile Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部份,是一种传输档案至Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File TransferProtocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接 *** 作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP)

准备阶段

需要引用第三方类库Tamir.SharpSSH.dll。链接地址(http://www.tamirgal.com/blog/page/SharpSSH.aspx)

我下载的是(Downloadbinaries: SharpSSH-1.1.1.13.bin.zip)DotNetSSH 文件

把Tamir.SharpSSH.dll加载到项目中。

实现阶段

增加一个类SFTPHelper

1Imports Tamir.SharpSsh.jsch

2

3PublicClass SFTPHelper

4 Private m_session As Session

5 Private m_channel As Channel

6 Private m_sftp As ChannelSftp

7

8 PublicSubNew(ByVal host AsString, ByVal user AsString, ByVal pwd AsString)

9 Dim arr() AsString = host.Split(":")

10 Dim ip AsString = arr(0)

11 Dim port AsInteger = 22

12 If (arr.Length >1) Then

13 port = Int32.Parse(arr(1))

14 EndIf

15

16 Dim jsch As JSch = New JSch()

17 m_session =jsch.getSession(user, ip, port)

18 Dim ui As MyUserInfo = New MyUserInfo()

19 ui.setPassword(pwd)

20 m_session.setUserInfo(ui)

21 End Sub

22

23 'SFTP获取文件

24 PublicFunction GetInfo(ByVal remotePath AsString, ByVal localPath AsString) AsBoolean

25 Try

26 Dim src As Tamir.SharpSsh.java.String = New Tamir.SharpSsh.java.String(remotePath)

27 Dim dst As Tamir.SharpSsh.java.String = New Tamir.SharpSsh.java.String(localPath)

28 m_sftp.get(src, dst)

29 ReturnTrue

30 Catch

31 ReturnFalse

32 EndTry

33 End Function

34 'SFTP连接状态

35 PublicProperty Connected AsBoolean

36 Get

37 Return m_session.isConnected()

38 EndGet

39 Set(ByVal value AsBoolean)

40

41 EndSet

42 End Property

43

44 '连接SFTP

45 PublicFunction Connect() AsBoolean

46 Dim flag AsBoolean = False

47 Try

48 If (Not Connected()) Then

49 m_session.connect()

50 m_channel =m_session.openChannel("sftp")

51 m_channel.connect()

52 m_sftp = m_channel

53 flag = True

54 EndIf

55 Catch

56 flag = False

57 EndTry

58 Return flag

59 End Function

60

61 '断开SFTP

62 PublicSub Disconnect()

63

64 If (Connected()) Then

65 m_channel.disconnect()

66 m_session.disconnect()

67 EndIf

68 End Sub

69

70 '登录验证信息

71 PublicClass MyUserInfo

72 Implements UserInfo

73

74 Dim passwd AsString

75

76 PublicSub setPassword(ByVal ppasswd AsString)

77 passwd = ppasswd

78 End Sub

79 PublicFunction getPassphrase() AsStringImplementsTamir.SharpSsh.jsch.UserInfo.getPassphrase

80 ReturnNothing

81 End Function

82 PublicFunction getPassword() AsStringImplements Tamir.SharpSsh.jsch.UserInfo.getPassword

83 Return passwd

84 End Function

85

86 PublicFunction promptPassphrase(ByVal message AsString) AsBooleanImplements Tamir.SharpSsh.jsch.UserInfo.promptPassphrase

87 ReturnTrue

88 End Function

89 PublicFunction promptPassword(ByVal message AsString) AsBooleanImplementsTamir.SharpSsh.jsch.UserInfo.promptPassword

90 ReturnTrue

91 End Function

92 PublicFunction promptYesNo(ByVal message AsString) AsBooleanImplements Tamir.SharpSsh.jsch.UserInfo.promptYesNo

93 ReturnTrue

94 End Function

95 PublicSub showMessage(ByVal message AsString) Implements Tamir.SharpSsh.jsch.UserInfo.showMessage

96

97 End Sub

98 End Class

99

100End Class

还有一个最简单的办法

Shell "explorer 下载地址"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11795402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存