sftp

引述自:http://cs.ecust.edu.cn/snwei/studypc/oftencommand/ftp.htm

sftp的命令格式为:

sftp  -v  -d  -i  -n -g hostname

-v :  显示远程服务器的所有响应信息;

-n: 限制  sftp  的自动登录,即不使用 .netrc 文件;

-d: 使用调试方式;

-g: 取消全局文件名

 

sftp使用的内部命令如下:

01、!cmd [args]
    在本地执行命令
02、macdef macro-name
    定义一个宏,遇到 macdef 下的空行时,宏定义结束
03、$ macro-ame[args]
    执行宏定义 macro-name
04、append local-file [remote-file]  
    将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名
05、get remote-file [local-file]、recv 将远程主机的文件remote-file传至本地硬盘local-file
06、reget remote-file[local-file]
    类似于 get , 但若 local-file 存在,则从上次传输中断处续传
07、mget remote-files
    传输多个远程文件
08case 在使用mget时,将远程主机文件名中的大写字母改为小写字母
09、put local-file[remote-file]、send
    将本地文件 local-file 传送至远程主机 10、mput local-file
   
将多个文件传输至远程主机
11、modtime file-name
    显示远程主机文件的最后修改时间
12、rename[from][to]
    更改远程主机文件名
13、size file-name
    显示远程主机文件大小
14、newer file-name
    如果远程机中 file-name 的修改时间比本地硬盘同名文件的时间更近,则重传该文件
15chmod mode file_name 16、delete remote_file 删除远程主机文件
17、mdelete[remote-file]
    删除远程主机文件

18、form format  将文件传输方式设置为format,缺省为file方式
19、mode[modename]
   将文件传输方式设置为 modename , 缺省为 stream 方式
20、type[type-name]
    设置文件传输类型为 type-name ,缺省为 ascii ,如 :type binary ,设置二进制传输方式 21、ascii  使用ascii类型传输方式
22、image
    设置二进制传输方式 ( 同 binary) 。
23、bin 使用二进制文件传输方式
24、cr 使用ascill方式传输文件时,将回车换行转换为回车
25、bell 每个命令执行完毕后,计算机响铃一次
26、open host[:port] 建立指定ftp服务器连接,可指定连接端口 27、close、disconnection 中断与远程服务器的ftp会话 28、byequit 退出ftp会话过程 29、cd dir_name 进入远程主机目录dir_name
30、lcd[dir]
    将本地工作目录切换至 dir
31、cdup
   进入远程主机的父目录
32pwd
   
显示远程主机的当前工作目录
33mkdir dir-name
    在远程主机中建一目录
34rmdir dir-name
    删除远程主机目录
35dir [remote-dir] [local-file] 显示远程主机目录列表,并将结果存入本地文件
36、mdir remote-files local-file
  与 dir 类似,但可指定多个远程文件,如 : mdir *.o.*.zipoutfile 。
37ls[remote-dir][local-file]
   显示远程目录 remote-dir , 并存入本地文件 local-file
38、nlist[remote-dir][local-file]
   显示远程主机目录的文件清单,并存入本地硬盘的 local-file
39、mls remote-file local-file
   同 nlist ,但可指定多个文件名 40、debug [debug-value]  设置调试方式,显示发送至远程主机的每条命令,如:deb up 3, 若设为0,表示取消debug 41、glob 设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数 42、hash 每传输1024字节,显示一个hash符号(#)
43、tick
   设置传输时的字节计数器
44、help[cmd]
   显示ftp内部命令cmd的帮助信息,如: help get 与 ?作用相同
45、rhelp[cmd-name]
   请求获得远程主机的帮助
46、status
    显示当前 ftp 状态
47、system
    显示远程主机的操作系统类型
48、rstatus[file-name]
    若未指定文件名,则显示远程主机的状态, 否则显示文件状态
49、idle[seconds]
    将远程服务器的休眠计时器设为 [seconds] 秒
50、site arg1 , arg2...
    将参数作为 SITE 命令逐字发送至远程 ftp 主机,如: site idle 7200
51、quote arg1 , arg2...
    将参数逐字发至远程 ftp 服务器,如: quote syst
52、nmap[inpattern outpattern]
    设置文件名映射机制
53、ntrans[inchars[outchars]
    设置文件名字符的翻译机制,如 ntrans1R ,则文件名 LLL 将变为 RRR
54、passive
    进入被动传输方式
55、prompt
    设置多个文件传输时的交互提示
56、reset
    清除回答队列
57、sendport
    设置 PORT 命令的使用
58、user user-name[password][account]
    向远程主机表明自己的身份,需要口令时,必须输入口令。例如编程root用户时

 

### SFTP 协议及其使用方法 SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种通过 SSH 提供的安全网络协议。它用于在网络上进行安全的文件传输操作。以下是关于 SFTP 的一些重要概念以及其实现方式。 #### 什么是 SFTPSFTP 是一种基于 SSH 的协议,旨在提供更高级别的安全性来替代传统的 FTP。与 FTP 不同的是,SFTP 使用加密技术保护数据在网络上传输时不会被窃听或篡改[^2]。 #### 实现 SFTP 文件传输的方法 在 Java 中可以通过 JSch 库实现 SFTP 功能。JSch 是一个纯 Java 编写的 SSH2 协议库,支持多种功能,包括但不限于端口转发、X11 转发和文件传输等。下面是一个简单的代码示例展示如何利用 JSch 进行基本的 SFTP 操作: ```java import com.jcraft.jsch.*; public class SFTPDemo { public static void main(String[] args) { String host = "your.sftp.server"; int port = 22; String username = "username"; String password = "password"; try { JSch jsch = new JSch(); Session session = jsch.getSession(username, host, port); session.setPassword(password); // Disable StrictHostKeyChecking to avoid UnknownHostException java.util.Properties config = new java.util.Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config); session.connect(); Channel channel = session.openChannel("sftp"); channel.connect(); ChannelSftp sftpChannel = (ChannelSftp) channel; // Upload file example sftpChannel.put("/path/to/local/file.txt", "/path/to/remote/directory/"); // Download file example sftpChannel.get("/path/to/remote/file.txt", "/path/to/local/directory/"); sftpChannel.exit(); session.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } ``` 此代码片段展示了如何建立 SFTP 连接并执行文件上传和下载的操作。需要注意的是,在实际应用中应避免硬编码密码,并考虑启用更强的身份验证机制如公钥认证[^2]。 #### 安全注意事项 当部署涉及敏感信息的应用程序时,务必遵循最佳实践以保障通信链路的安全性。这可能包括但不限于配置防火墙规则限制访问范围、定期轮换密钥材料以及监控异常活动日志记录行为等措施。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值