来源:蜘蛛抓取(WebSpider)
时间:2016-03-04 05:59
标签:
sftp 批量下载
如何在shell脚本里使用sftp批量传送文件_百度知道
如何在shell脚本里使用sftp批量传送文件
我有更好的答案
如果要输入密码的话用expect去处理
建议使用lftp中的mirror
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&&&&ftpSftp上传下载文件java实现
ftpSftp上传下载文件java实现
1.ftp的连接、上传文件、下载文件、删除文件,是通过apache提供的jar包实现。
2.使用JSch实现的SFTP功能。要使用JSch,需要下载它的jar包,请从官网下载它:/jsch/
若举报审核通过,可奖励20下载分
被举报人:
jean852001
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
免积分&&极速下载60元/年(1200次)
您可能还需要
开发技术下载排行&&&您需要以后才能回答,未注册用户请先。如何在shell脚本里使用sftp批量传送文件_百度知道
如何在shell脚本里使用sftp批量传送文件
提问者采纳
2.编写并以上面的本地用户运行shell脚本一;shsftp -b .Enter file in which to save the key (/./.pub.ssh/:#:69;home/.分发公钥为了使用密钥.将copy来的公钥文件改名为authorized_keys3.# 私钥保存信息Your public key has been saved in /local_user/local_user/;bin/,用于集中存放sftp命令(该选项主要用于非交互模式的sftp);id_dsa:41;remote_user/home/: # 确认密钥的密码:0b.ssh/home/lcd /.-get
:copy id_local_user/home/.# 密钥指纹二:#:38:/,即当前用户local_user的私钥Enter passphrase (empty for no passphrase);:32.生成密钥对在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).txt说明:local_user:7d ,必须将公钥分发到欲登录的远程服务器上;data/.-get
;local_user/id_dsa); EOFcd /:方式1:Generating public/.ssh/.# 公钥保存信息Thdata/<.将其中的公钥分发到sftp欲登录的远程服务器上3;;若目录/-&local_user/.因此对于上面的目标;-get
:主要步骤如下.ssh/sftp_不存在;home/.-get
!/: sftp_cmds: /以防止其执行错误时sftp执行过程被终止.-get
,欲登录的远程用户记为remote_user1;-get
;home/,这里本地用户记为,表示读取密钥时不需要密钥的密码Enter same passphrase again.示例目标;.-get
;home/bin/.copy公钥到欲登录的远程服务器的远程用户的家目录下:bc:/!/传送下列文件到本地计算机的当前目录;local_user/remote_user/,例如.-get
;home/:98:cd /.修改公钥文件的访问权限chmod 644 authorized_keys三;remote_user/.txt remote_user@remote_host方式二;home/.quit这里存为.ssh/remote_user/.-get
;id_data/:ec:1;data/.-get
;lcd /,必须和上面的输入相同Your identification has been saved in /,请先创建之.ssh/private dsa key pair: # 按回车保存为;data/,可以生成如下的命令文件:从远程服务器remote_host: 批模式sftp提供了一个选项-b:1e;home/:fc.:d7:e8: /id_dsa.为运行shell脚本的本地用户生成密钥对2;shsftp remote_user@remote_host <:92;;local_user/remote_user/.pub到remote_host.以下为脚本示例: get命令前加一个"下面介绍的方法可以参考,这里远程服务器记为remote_host..X版本):$ ssh-keygen –d屏幕提示:f8.可使用下列方式生成(SSH 2:08;home/data/;home/: # 按回车
来自团队:
其他类似问题
为您推荐:
sftp的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁JSch:纯JAVA实现SFTP文件上传和下载
-------------
新增文件夹...
新增文件夹
(多个标签用逗号分隔)
& & 如果你想用纯JAVA实现SFTP文件上传或下载,或者是想纯JAVA连接到SSH2服务器上执行命令,那就使用JSch.jar包吧。这里我们先描述实现SFTP协议的上传和下载,上代码和详细的代码注释: /**
* 利用JSch包实现SFTP下载、上传文件
* @param ip 主机IP
* @param user 主机登陆用户名
* @param psw
主机登陆密码
* @param port 主机ssh2登陆端口,如果取默认值,传-1
public static void sshSftp(String ip, String user, String psw ,int port) throws Exception{
Session session =
Channel channel =
JSch jsch = new JSch();
if(port &=0){
//连接服务器,采用默认端口
session = jsch.getSession(user, ip);
//采用指定的端口连接服务器
session = jsch.getSession(user, ip ,port);
//如果服务器连接不上,则抛出异常
if (session == null) {
throw new Exception("session is null");
//设置登陆主机的密码
session.setPassword(psw);//设置密码
//设置第一次登陆的时候提示,可选值:(ask | yes | no)
session.setConfig("StrictHostKeyChecking", "no");
//设置登陆超时时间
session.connect(30000);
//创建sftp通信通道
channel = (Channel) session.openChannel("sftp");
channel.connect(1000);
ChannelSftp sftp = (ChannelSftp)
//进入服务器指定的文件夹
sftp.cd("domains");
//列出服务器指定的文件列表
Vector v = sftp.ls("*.txt");
for(int i=0;i&v.size();i++){
System.out.println(v.get(i));
//以下代码实现从本地上传一个文件到服务器,如果要实现下载,对换以下流就可以了
OutputStream outstream = sftp.put("1.txt");
InputStream instream = new FileInputStream(new File("c:/print.txt"));
byte b[] = new byte[1024];
while ((n = instream.read(b)) != -1) {
outstream.write(b, 0, n);
outstream.flush();
outstream.close();
instream.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
session.disconnect();
channel.disconnect();
相关资讯 —
相关文档 —
发布时间1: 21:47:00
关注网站微信公众号
同类热门经验
46604次浏览
34889次浏览
33883次浏览
29900次浏览
27762次浏览
32737次浏览
OPEN-OPEN, all rights reserved.