导航:首页 > 文件类型 > sftp上传文件夹命令

sftp上传文件夹命令

发布时间:2023-05-19 22:30:29

① 如何在shell脚本里使用sftp批量上传文件

主要步骤如下:
1.为运行shell脚本的本地用户生成密钥对
2.将其中的公钥分发到sftp欲登录的远程服务器上
3.编写并以上面的本地用户运行shell脚本
一.生成密钥对
在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).可使用下列方式生成(SSH 2.X版本),这里本地用户记为:local_user:
$ ssh-keygen -dsa
屏幕提示:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/local_user/.ssh/id_dsa):
# 按回车保存为: /home/local_user/.ssh/id_dsa,即当前用户local_user的私钥
Enter passphrase (empty for no passphrase):
# 按回车,表示读取密钥时不需要密钥的密码
Enter same passphrase again:
# 确认密钥的密码,必须和上面的输入相同
Your identification has been saved in /home/local_user/.ssh/id_dsa.
# 私钥保存信息
Your public key has been saved in /home/local_user/.ssh/id_dsa.pub.
# 公钥保存信息
The key fingerprint is:
ec:41:e8:08:38:0b:f8:1e:bc:92:98:32:fc:d7:69:7d ...
# 密钥指纹
二.分发公钥
为了使用密钥,必须将公钥分发到欲登录的远程服务器上,这里远程服务器记为remote_host,欲登录的远程用户记为remote_user
1.公钥到欲登录的远程服务器的远程用户的家目录下,例如:
id_dsa.pub到remote_host:/home/remote_user/.ssh/
若目录/home/remote_user/.ssh/不存在,请先创建之.
2.将来的公钥文件改名为authorized_keys
3.修改公钥文件的访问权限
chmod 644 authorized_keys
三.示例
目标:
从远程服务器remote_host:/home/remote_user/data/
传送下列文件到本地计算机的当前目录: /home/local_user/data/:
20050201
20050202
20050203
20050204
20050205
方式1: 批模式
sftp提供了一个选项-b,用于集中存放sftp命令(该选项主要用于非交互模式的sftp).因此对于上面的目标,可以生成如下的命令文件:
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
这里存为: sftp_cmds.txt
说明: get命令前加一个"-"以防止其执行错误时sftp执行过程被终止.
以下为脚本示例:
#!/bin/sh
sftp -b ./sftp_cmds.txt remote_user@remote_host
方式二:
#!/bin/sh
sftp remote_user@remote_host << EOF
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
EOF

② 使用sftp进行文件传输

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

SFTP与FTP差别

只使用SFTP传输文件,不能使用ssh登录系统

创建sftp用户组

创建sftp用户

将ChrootDirectory目录设置为/home(所有权必须为root),然后 ForceCommand 使用-d 选项将用户的主目录指定为起始目录

当前/home目录

编辑/etc/ssh/sshd_config文件

使用SFTP客户端,上传文件

查看用户home目录

嵌套主目录

创建目录并设置权限

查看当前的目录结构

修改/etc/ssh/sshd_config文件

使用SFTP客户端上传文件

查看上传的文件位置

验证

从10.10.0.1机器登录

10.10.0.1机器能看到所有的目录

从其他主机登录

其他主机只能看到限定的目录

属于sftp-only用户组,但是不限制ssh及sftp

创建用户

修改配置

验证

ssh登录验证

修改sshd配置

修改 /etc/rsyslog.conf,在最后添加

SFTP 命令

③ SFTP命令中怎么批量传一个文件夹下的文件

先用 MD 命令建立一个文件夹 再用 PUT 命令将其余的文件上传吧 一个个的来
如果嫌麻烦 还是去DOWN一个FTP的客户端软件 如flashxp 图形界面 选中全部一拖....

有一个方法可以达到你的要求 不过还是有些麻烦
将你所有要传输的的命令写到一个文本文件中,然后用FTP的命令进行调用
所以你必须将所有上传文件的命令写好 虽然在记事本里写比在CMD下写方便 但文件多了还是比较麻烦

④ 如何设置通过sftp将文件上传到linux指定 工具指定根目录路径

如果是window下上传到linux,可以安装个flashfxp软件。输入用户密码。就可以象ftp一样上传文件到linux里。。

如果是linux传linux。。。
直接使用sftp ip 输入用户密码,然后用cd ls put get等命令就可以把文件传到相应目录
具体命令参数可以输入sftp --help 就可以参看了

⑤ put指定路径指定文件

sftp上传下载命令get/put。
lcd切换windows环境路帆携清径lpwd查看windows环境路径cd切换linux环态前境路径pwd查看linux环境路径get下载linux资源到windowsput上传windows资源到linux,sftp上隐孙传下载命令get/put。

⑥ 如何在shell脚本里使用sftp批量传送文件

1、sftp属于交互蚂码首式的,所以你得缓存下命令
#!/bin/sh
sftp -o Port=3322 [email protected]:/模悉opt << !
mput *.log
!
2、用scp一行搞定
scp -P3322 /opt/*.txt [email protected]:/tmp
3、用rsync同步整个目录闷数
rsync -av '-e ssh -p 3322' /data/test [email protected]:/data

⑦ CentOS使用sftp命令进行主机间文件传输

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

登录成功后,才可以进行下面的获取和发送操作。

1.登录远程账号

2.从远程获取文件夹

3.退出
框内输出exit,即退出sftp。

⑧ 在ubuntu中sftp怎么才能够上传一个文件夹给服务器,命令行代码怎么写啊

get -r 为下载文件夹,put -r为上传文件夹

⑨ 仅20行代码,实现文件自动化上传至sftp

最近接到一个产品需求是给指定的 sftp 服务谨友器的指定目录定时推送文件数据。

因为项目组已有现成的组件可以轻松实现 sftp 服务器文件的快速上传,本来是一件很容易的事情,但是问题出现在这个指定的 sftp 服务器所指定的密码带有系统关键字和一些特殊字符,导致现在的组件在解析过程中会失败。

因此重新开发了下面的这套脚本来满足这个特殊的需求。


Python代码


sftp配置文件代码


(1). yaml 模块

导入 yaml 模块前可以使用以下命令进行模块的安装

yaml 模块在这里的作用是读取 sftp 配置文件代码,将指定key: test_file_upload 下的 key:value 的值转换为字典。

例如:load_config_from_param_conf 函数中的返回值就是使用 yaml 读取正晌猜到 sftp 配置文件代码后,返回 key: test_file_upload 下配置选项值。

格式如下:

最后将返回值传给 upload 函数作为参数。


(2). OptionParser 模块

按照 yaml 模块的安装方法,先安装 optparse 模块后,然后在文件中从optparse 中导入 OptionParser 模块

在这里我使用了 OptionParser 这个类实例化了一个对象:opt_parser,通过对象来调用 add_option 方法添加了2个参数,分别是:node, local_file

1). 形参:--node,实参:node

所代表的业务含义是:指定要上传的 sftp 的节点,具体参数值对应 sftp配置文件代码中的举型 test_file_upload

2). 形参:--local_file,实参:local_file

所代表的业务含义是:指定本地需要被上传到 sftp 服务器的具体文件路径

3). 调用命令

4). add_option()方法

参数:action的枚举

store: 参数列表中带有--node, 那么就会将下一个元素即:test_file_upload 作为其 dest 实参 node 的值; 如果没有--node,那么对应的node的值就为 None;

store_true: 参数列表中有--local_file, 那么其 dest 实参 local_file 的值就为 True; 否者就为 default 定义的默认值,这里没有给定 default 的默认值;

store_false: 参数列表中有--local_file, 那么其 dest 实参 local_file 的值就为 False; 否者就为 default 定义的默认值,这里没有给定 default 的默认值;

参数:type

type是指定传入参数的类型,这里的参数类型为 string 类型。

参数:dest

dest是参数传入后由哪个变量来存储的,后面代码对该参数的引用也是使用这里定义的变量名来引用的。

参数:default

default 是与 action 的值结合使用的。

参数:help

help相当于帮助说明文档,用于描述这个参数的含义。

⑩ windows 下如何使用sftp自动登录上传文件

1首先打开linux客户端工具,新建一个连接

2IP地址填写我们本机的IP地址

3创建完毕,打开刚才创建的连接进行连接

4连接打开,在命令行输入 sfpt 服务器IP地址

5进入用户名填写处,填写我们需要传输文件的服务器用户名

6接着填写登录密码

7显示如下标志表明,已经登录成功,使用put 文件路径即可实现文件传输

阅读全文

与sftp上传文件夹命令相关的资料

热点内容
什么app可以申请小号 浏览:602
机明编程上门培训怎么收费 浏览:879
双面镂空雕刻玉有哪些网站 浏览:782
java反射机制帮助 浏览:670
java第一份工作影响 浏览:595
指示的文件系统找不到数据库目录 浏览:504
java3des和net对接 浏览:668
怎么在家上网编程 浏览:909
订阅已关为什么还显示app 浏览:169
大华详细教程 浏览:901
学信网是一种什么网站 浏览:378
wow插件文件夹 浏览:302
c源程序文件的缺省扩展名为 浏览:952
java类类型 浏览:971
拼多多关键词数据怎么下载 浏览:867
哪个app可以买火影忍者号 浏览:524
2012r2添加数据库引擎 浏览:549
贷款app如何注销 浏览:966
懒人版本lol 浏览:195
ipad怎么新建文件夹 浏览:697

友情链接