linux虚拟机用sftp能脸上ftp连不上是因为你的linux本身安装了SSH,按照上面说的是SSH的一部份,所以SFTP能连上。而FTP服务器端程序本身linux没有安装,因此连不上。假如你需要使用FTP那就安装一下FTP服务器端程序,比如vsftp。FTP出现“数据 Socket 错误: 连接被拒”解决办法 通过FTP连接网站时出现“数据 Socket 错误: 连接被拒 列表错误”,如下图:( `: f) Q, L, U: `" g; L3 C( p' N DDgif (565 KB) 2007-8-27 02:52# |, n8 l" S4 }2 h3 V 出现这个错误的原因一般如下: E% M6 j# Y8 [1, 关闭被动模式;( {, H; o1 z" Q R/ ]7 ~9 n 2, 传输类型:二进制; 1 l5 C, \ Y( D+ G: a >这是winspc连接linux 出现错误,就是服务器没有开sftp服务
解决:在linux服务器上,
确保sftp定义在sshd的配置文件(一般为/etc/ssh/sshd_config)中有如下一行:
Subsystem sftp /usr/libexec/openssh/sftp-server
然后启动(或者重新启动)sshd服务。首先这里需要介绍一个新朋友给大家,就是他JSch。
这里简单介绍一下JSch,他是是SSH2的一个纯Java实现。Java中可以通过使用JSch来连接到sshd 服务器上,并进行文件的下载删除上传等 *** 作。
2
JSch下载地址为可以直接百度一下。
找到Download,如图所示:
这里我们看到有两个可以下载的,一个是zip,一个是jar。
jsch-0153zip:为JSch的源码压缩包,有兴趣的码友可以下载下来研究一下。
jsch-0153jar:为JSch的编译好的jar包,开发时放到工程中即可。
这里我们就直接下载jsch-0153jar了。
END
JSch使用
我们将下载好的jsch-0153jar包放在我们的工程下方,并将jar包引入到工程中。
在工程中定义一个连接SFTP的类,这里我们定义为SFTPUtiljava。
大家可以根据自己需要进行定义。
首先我们需要在类中定义几个静态变量。
主机地址、端口号、用户名、密码
接下来我们定义链接到该服务器的方法名,这里命名该方法名为connect。
创建服务器连接的过程大致为一下几点:
1、创建session,将服务器地址信息放入session;
2、建立连接;
3、打开channel;
4、链接成功;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)