「sftp关闭java」sftp 重启

博主:adminadmin 2023-01-09 13:03:10 707

本篇文章给大家谈谈sftp关闭java,以及sftp 重启对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

系统之家Linux如何关闭scp和sftp命令怎么办

你好,方法如下:

禁止scp和sftp命令

系统:centos 5.x

1.先禁止scp

rpm -qa|grep openssh-*

yum remove openssh-clients -y

删除了openssh-clients后,再执行scp,就会报下面的错误:

-bash: scp: command not found

2.禁止sftp

vi /etc/ssh/sshd_config

Subsystem sftp /usr/libexec/openssh/sftp-server

把这行注释了,如下:

#Subsystem sftp /usr/libexec/openssh/sftp-server

退出保存后,重启sshd:

service sshd restart

以上就是Linux系统中禁止scp和sftp命令的方法了。有需要或者是有兴趣的用户,可以在自己的电脑上尝试操作一下。

java连接Sftp服务器后,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法获取的InputStream流为空

java连接Sftp服务器后,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法获取的InputStream流为空,检查下第3方初始化这些写对没有,或者就是没得到流,打印看看,解决问题。

JAVA_JSCH如何远程操作SFTP服务器上的文件?

使用SSH协议进行FTP传输的协议叫SFTP

换言之你的SSH协议一定启用了,那么使用基本linux命令在远端执行即可。

我个人而言,JSCH一般是这样用的:SFTP用于单纯的文件上传,之后直接使用基础ssh协议执行远端linux命令(比如说,移动文件或是重启服务器等等)

至于API的具体使用方式,稍微搜索一下很容易找到,比如这个:

你好!我也碰到了SFTP传输,纯java可以,Android就不行,纠结好几天了,希望你能尽快帮我解答,谢谢!

我就是用sftp传输的,Android下,就是用手机录音,然后把录下来的音频文件保存到服务器里,给你源代码吧,

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.Date;

import java.util.Properties;

import java.util.Vector;

import android.content.Context;

import android.telephony.TelephonyManager;

import android.text.format.DateFormat;

import android.text.format.Time;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.Session;

import com.jcraft.jsch.SftpException;

public class Sftp_upload {

 /**

  * 连接sftp服务器

  * @param host 主机

  * @param port 端口

  * @param username 用户名

  * @param password 密码

  * @return

  */

 public ChannelSftp connect(String host, int port, String username,String password) {

 

 ChannelSftp sftp = null;

  try {

   JSch jsch = new JSch();

   jsch.getSession(username, host, port);

   Session sshSession = jsch.getSession(username, host, port);

   System.out.println("Session created.");

   sshSession.setPassword(password);

   Properties sshConfig = new Properties();

   sshConfig.put("StrictHostKeyChecking", "no");

   sshSession.setConfig(sshConfig);

   sshSession.connect();

   System.out.println("Session connected.");

   System.out.println("Opening Channel.");

   Channel channel = sshSession.openChannel("sftp");

   channel.connect();

   sftp = (ChannelSftp) channel;

   System.out.println("Connected to " + host + ".");

   //System.out.println("登录成功");

  } catch (Exception e) {

  }

  return sftp;

 }

 /**

  * 上传文件

  * @param directory 上传的目录

  * @param uploadFile 要上传的文件

  * @param sftp

  */

 public void upload(String directory, String uploadFile, ChannelSftp sftp) {

  

 try {

   s;

   File file=new File(uploadFile);

  

   String currentTime=DateFormat.format("yyyy_MM_dd_hh_mm_ss", new Date()).toString(); //获取时间

   String filename=currentTime+".wav"; //文件名为当前时间来保存

   s(new FileInputStream(file), filename);   

  

   System.out.println("上传成功!");

} catch (Exception e) {

   e.printStackTrace();

  }

 }

 /**

  * 下载文件

  * @param directory 下载目录

  * @param downloadFile 下载的文件

  * @param saveFile 存在本地的路径

  * @param sftp

  */

 public void download(String directory, String downloadFile,String saveFile, ChannelSftp sftp) {

  try {

   s;

   File file=new File(saveFile);

   s(downloadFile, new FileOutputStream(file));

  } catch (Exception e) {

   e.printStackTrace();

  }

 }

 /**

  * 删除文件

  * @param directory 要删除文件所在目录

  * @param deleteFile 要删除的文件

  * @param sftp

  */

 public void delete(String directory, String deleteFile, ChannelSftp sftp) {

 try {

   s;

   s;

  } catch (Exception e) {

   e.printStackTrace();

  }

 }

 /**

  * 列出目录下的文件

  * @param directory 要列出的目录

  * @param sftp

  * @return

  * @throws SftpException

  */

 public Vector listFiles(String directory, ChannelSftp sftp) throws SftpException{

  

 return s;

 

 }

 

 //上传文件

 

 

 public static void Sftp_server(String file,String imsi) {

  String Imsi = imsi;  

  Sftp_upload sf = new Sftp_upload(); 

  String host = "192.168.1.60";

  int port = 22;

  String username = "root";

  String password = "123456";

  String directory = "/data/test/wav";

  //String uploadFile = "c:\\audiocheck\\test.wav";

  String uploadFile = file;

 // String downloadFile = "/data/test/wav/lame.sh";

// String saveFile = "c:\\audiocheck\\content.txt";

 // String deleteFile = "c:\\audiocheck\\content.txt";

  ChannelSftp sftp=sf.connect(host, port, username, password);

  

  //sf.download(directory, downloadFile, saveFile, sftp);

  //sf.delete(directory, deleteFile, sftp);

   try{

   s;

   s; //创建目录

   System.out.println("finished");

  }catch(Exception e){

  e.printStackTrace();

  }

  directory = "/data/test/wav/"+imsi;

  sf.upload(directory, uploadFile, sftp);//上传文件到服务器

 

 }

 

}

这个就是源代码,

然后上传的时候用的代码

//imsi也就是 手机的型号来创建文件夹的,这些你都可以修改的。

String file = mWorkdir+"/"+"resFile.wav"; //要上传的文件

Sftp_upload.Sftp_server(file,imsi); //上传文件

System.out.println("已上传");

sftp免密用java怎么调用

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Properties;

import java.util.Vector;

import org.apache.commons.lang.ArrayUtils;

import com.huawei.bme.commons.om.log.DebugLog;

import com.huawei.bme.commons.om.log.LogFactory;

import com.huawei.icity.commons.constants.KeyConstant;

import com.huawei.icity.commons.constants.NumberConstant;

import com.huawei.icity.commons.exception.SPMException;

import com.huawei.icity.commons.log.IcityLogFactory;

import com.huawei.icity.commons.log.IcityRuntimeLog;

import com.huawei.icity.commons.sysconfig.StaticInitData;

import com.huawei.icity.commons.utils.StringTools;

import com.huawei.icity.omp.common.util.CommonTools;

import com.huawei.icity.omp.interfaces.hint.constant.TimetaskConstants;

import com.huawei.mdmc.bfm.cms.assist.common.domain.SingleTableModel;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.ChannelS;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.JSchException;

import com.jcraft.jsch.Session;

import com.jcraft.jsch.SftpException;

/**

* SFTP公共处理类 〈提供SFTP文件上传,下载,获取指定目录 下文件名集合, 获取指定目录 下文件集合等方法

*

* @author mKF75022

* @version iCity Manager V100R002 2012-7-3

* @since iCity Manager V100R002C01

*/

public class SFTPTool

{

/**

* 调测日志记录器。

*/

private static final DebugLog DEBUGGER = LogFactory.getDebugLog(SFTPTool.class);

/**

* 运行日志记录器。

*/

private static final IcityRuntimeLog RUNTIMELOGGER = IcityLogFactory

.getRuntimeLog(SFTPTool.class);

/**

* Sftp客户端对象

*/

private ChannelSftp sftp = null;

/**

* SFTP IP地址

*/

private String ip;

/**

* SFTP 端口

*/

private String port;

/**

* SFTP 用户名

*/

private String userName;

/**

* SFTP 密码

*/

private String password;

/**

* SFTP上传模式:BINARY

*/

// private static final int BINARY_FILE_TYPE = 2;

/**

*

* 获取实例

*

* @return SFTPTool newinstance实例

*

*/

public static SFTPTool getNewInstance()

{

return new SFTPTool();

}

/**

* 初始化连接参数

*

* @param sftpIP

* IP

* @param sftpPort

* 端口

* @param sftpUsername

* 用户名

* @param sftpPassword

* 密码

*/

public void init(String sftpIP, String sftpPort, String sftpUsername, String sftpPassword)

{

// 获取SFTP连接信息

this.ip = sftpIP;

this.port = sftpPort;

this.userName = sftpUsername;

this.password = sftpPassword;

}

/**

* 从SFTP将符合约定命名的文件都下载到本地 .

*

* @param sftpDir

* SFTP服务器文件存放路径

* @param locDir

* 本地文件存放路径

* @param regex

* 指定文件名的格式

* @param needBackup

* 是否需要文件备份(true:是;false:否)

* @param needFullMatch

* 是否要求全局匹配(true:是;false:否)

* @param deleteFtpFile

* the delete ftp file

* @return 下载到本地的文件列表

*/

public ListFile synSFTPFileToLocal(String sftpDir, String locDir, String regex,

boolean needBackup, boolean needFullMatch, boolean deleteFtpFile)

{

ListFile files = new ArrayListFile(KeyConstant.INITIAL_NUMBER);

try

{

this.connect(ip, Integer.parseInt(this.port), userName, password);

// 获得FTP上文件名称列表

ListString ftpFileNameList = this.listFiles(sftpDir, regex, needFullMatch);

File localFile = null;

int size = ftpFileNameList.size();

// 根据每个FTP文件名称创建本地文件。

for (int i = 0; i size; i++)

{

// 下载源文件

localFile = this.download(sftpDir, locDir, ftpFileNameList.get(i), deleteFtpFile);

if (localFile.exists())

{

files.add(localFile);

}

if (needBackup)

{

// 备份源文件生成默认备份文件路径(据请求文件路径,生成同级目录的备份文件夹绝对路径)

String parentDir = sftpDir.substring(NumberConstant.INT_0,

sftpDir.lastIndexOf("/") + 1);

String backupDir = parentDir + TimetaskConstants.DEFAULT_BACKUP_DIRNAME;

boolean bakExists = openDir(backupDir);

if (bakExists)

{

this.uploadFile(backupDir, localFile);

}

else

{

boolean parentExists = openDir(parentDir);

if (parentExists)

{

s;

this.uploadFile(backupDir, localFile);

}

else

{

DEBUGGER.error("sftp parentDir no exisits ");

}

}

}

}

}

catch (Exception e)

{

DEBUGGER.error("synSFTPFileToLocal Exception", e);

}

finally

{

this.disconnect();

}

return files;

}

/**

* 连接sftp服务器

*

* @param sftpip

* ip地址

* @param sftpport

* 端口

* @param sftpusername

* 用户名

* @param sftppassword

* 密码

* @return channelSftp

* @throws SPMException

*/

public ChannelSftp connect(String sftpip, int sftpport, String sftpusername, String sftppassword)

{

sftp = new ChannelSftp();

try

{

JSch jsch = new JSch();

jsch.getSession(sftpusername, sftpip, sftpport);

Session sshSession = jsch.getSession(sftpusername, sftpip, sftpport);

RUNTIMELOGGER.info("Session created");

sshSession.setPassword(sftppassword);

Properties sshConfig = new Properties();

sshConfig.put("StrictHostKeyChecking", "no");

sshSession.setConfig(sshConfig);

// 设置超时时间为

sshSession.setTimeout(Integer.parseInt(StaticInitData.getFtpConnectTimeOut())

* NumberConstant.INT_1000);

sshSession.connect();

Channel channel = sshSession.openChannel("sftp");

channel.connect();

sftp = (ChannelSftp) channel;

// 设置文件类型

// ftpClient.setFileType(BINARY_FILE_TYPE);

// 与防火墙相关

// ftpClient.enterLocalPassiveMode();

}

catch (JSchException e)

{

DEBUGGER.error("JSchException : {}", e);

}

return sftp;

}

// /**

// * 创建指定文件夹

// *

// * @param dirName

// * dirName

// */

// public void mkDir(String dirName)

// {

// try

// {

// s;

// }

// catch (SftpException e)

// {

// DEBUGGER.error("mkDir Exception : " + e);

// }

// }

/**

* 创建指定文件夹

*

* @param dirName

* dirName

*/

public void mkDir(String dirName)

{

String[] dirs = dirName.split("/");

try

{

String now = s;

for (int i = 0; i dirs.length; i++)

{

boolean dirExists = openDir(dirs[i]);

if (!dirExists)

{

s(dirs[i]);

s(dirs[i]);

}

}

s;

}

catch (SftpException e)

{

DEBUGGER.error("mkDir Exception : " + e);

}

}

/**

* 打开指定目录

*

* @param directory

* directory

* @return 是否打开目录

*/

public boolean openDir(String directory)

{

try

{

s;

return true;

}

catch (SftpException e)

{

DEBUGGER.error("openDir Exception : " + e);

return false;

}

}

sftp怎么关闭链接,还有就是会不会很占资源

如果路由器关闭了DHCP功能你的电脑就获取不到地址,会导致不能上网。 但如果你手动填写一个IP就可以了(地址一定要和路由器的lan地址是一个网段的)

sftp关闭java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sftp 重启、sftp关闭java的信息别忘了在本站进行查找喔。