主要内容

sftp

连接SFTP服务器来访问它的文件

描述

连接到一个SFTP服务器通过调用sftp函数,它将创建一个SFTP连接对象。在服务器上访问特定SFTP账户,指定一个主机和一个用户。然后,使用SFTP对象上传、下载和删除文件。您还可以创建、删除和导航到不同的服务器上的文件夹。关闭连接,使用关闭函数。

SFTP是一个安全协议,因为SFTP对象将加密您的用户名,密码,任何数据下载或上传SFTP服务器。

创建

描述

例子

s = sftp (主机,用户)打开一个连接用户和SFTP服务器主机并返回一个SFTP连接对象。SSH密钥从默认位置检索。

例子

s = sftp (主机,用户“PublicKeyFile”,publickeyfile“PrivateKeyFile”,privatekeyfile)使用的关键文件在指定的位置。

例子

s = sftp (主机,用户“密码”,密码)使用指定的密码。

例子

s = sftp (___,名称,值)指定额外使用一个或多个输入参数名称参数。例如,您可以指定的值“ServerSystem”作为“Windows”连接到一个SFTP服务器上运行Windows®操作系统。

输入参数

全部展开

SFTP服务器的主机名,指定为字符串标量或特征向量。

SFTP服务器的默认端口号是22。指定另一个端口号连接,追加冒号(:)和端口号主机

通常情况下,服务器的主机名和开始“sftp”,如“sftp.example.com”。然而,这种做法是一种惯例,而不是一个技术要求。例如,s = sftp (www.example.com: 22)打开一个匿名连接端口号22如果服务器www.example.com配置为提供SFTP服务。

例子:s = sftp (“sftp.example.com”)

授权SFTP服务器上的帐户的名称,指定为一个字符串标量或特征向量。SFTP对象发送用户为纯文本。

密码为指定的账户,指定为一个字符串标量或特征向量。SFTP对象发送密码作为加密的文本。

例子:“密码”、“PaSsWoRd123”

公钥文件SFTP认证,指定为一个字符串标量或特征向量。公钥文件的默认位置取决于您的操作系统。

  • 在Linux和MacOS,公钥文件的默认位置$ HOME / . ssh / id_rsa . pub

  • 在Windows上,公钥文件的默认位置% USERPROFILE % \ . ssh \ id_rsa . pub

例子:“PublicKeyFile”、“/用户/ abc / sshKeys / keys.pub”

私钥文件SFTP认证,指定为一个字符串标量或特征向量。私钥文件的默认位置取决于您的操作系统。

  • 在Linux和MacOS,私钥文件的默认位置$ HOME / . ssh / id_rsa

  • 在Windows上,私有密钥文件的默认位置% USERPROFILE % \ \ id_rsa . ssh

例子:“PrivateKeyFile”、“/用户/ abc / sshKeys /键”

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“系统”、“窗口”

日期字段的类型使用的输出dir,指定为“datetime”“文本”

类型的操作系统上运行的SFTP服务器指定为“unix”“Windows”

语境对阅读日期从远程服务器,指定为一个字符串标量或特征向量。

ServerLocale值可以是一个特征向量或字符串标量形式xx_YY,在那里xx是小写的ISO 639 - 1两个字母的代码指定一种语言,然后呢YY是一个大写的ISO 3166 - 1α2代码指定了一个国家。

此表列出了一些常见的区域设置的值。

语言环境 语言 国家
“de_DE” 德国 德国
“en_GB” 英语 联合王国
“en_US” 英语 美国
“es_ES” 西班牙语 西班牙
“fr_FR” 法国 法国
“it_IT” 意大利 意大利
“ja_JP” 日本 日本
“ko_KR” 韩国 韩国
“设置nl_NL” 荷兰 荷兰
“zh_CN” 中文(简体) 中国

如何解析命令输出从FTP服务器列表,指定为一个函数处理。默认值是@matlab.io.ftp.parseDirListingForUnix@matlab.io.ftp.parseDirListingForWindows,这取决于服务器的操作系统。

您还可以指定一个自定义函数处理。自定义函数处理必须有三个输入:

  1. 目录条目的列表,指定为一个字符串向量。

  2. 服务器区域,指定为字符串标量。

  3. 日期和时间数据的数据类型,指定为“datetime”“文本”

自定义函数的输出处理必须是一个结构数组的大小1,物品的数量在文件夹中。结构的字段必须匹配的字段返回的结构dir功能:的名字,isdir,字节,日期,datenum。有关这些字段的更多信息,请参阅dir函数引用页面。

如果默认值会导致错误引用无法解析dir输出指定这个名称参数。这个观点必须正确地指定使用对象引用的函数dir

函数签名

自定义编写函数必须接受三个输入参数,目录条目的列表,条目、服务器语言环境serverLocale,日期和时间数据类型的数据,datetimeType:

函数清单= myFormatFcn(条目、serverLocale datetimeType)

例子函数

加入条目进入细胞阵列的输入textscan。预先分配一个结构体。得到的各个部分textscan输出。构建结构、填充适当的字段。

函数清单= myFormatFcn(条目、serverLocale datetimeType)条目=加入(条目,换行符);= textscan(条目,“% % d % 3 c % d %年代”,“MultipleDelimsAsOne”,真正的);structSize =元素个数({1});清单=结构(“名称”细胞(structSize 1),“isdir”0 (1,1),“字节”0 (1,1),“日期”,,“datenum”0 (1,1));monthName =字符串({3});一天=字符串({4});时间=字符串({5});名称= {1};字节= {2};2 = 1:structSize清单(ii) . name =姓名{2};清单(ii)。isdir= false; listing(ii).bytes = bytes(ii); makeDate = day(ii) +“-”+ monthName (ii) +”“+(2);thisDate = datetime (makeDate,“InputFormat”,“dd-MMM HH: mm”,“场所”,serverLocale);如果datetimeType = =“文本”清单(ii)。日期= datestr(thisDate);其他的清单(ii)。日期= thisDate;结束清单(ii)。datenum= datenum(thisDate);结束结束

对象的功能

cd 改变或SFTP或FTP服务器上查看当前文件夹
关闭 紧密联系SFTP或FTP服务器
删除 SFTP或FTP服务器上删除文件
dir SFTP或FTP服务器上的文件夹列表内容
mget 从SFTP或FTP服务器下载文件
mkdir 做出新的SFTP或FTP服务器上的文件夹
mput 上传文件或文件夹SFTP或FTP服务器
重命名 重命名文件SFTP或FTP服务器上
删除文件夹 SFTP或FTP服务器上删除文件夹

例子

全部折叠

连接到示例SFTP服务器。

s = sftp (“sftp.example.net”,“又”)
SFTP属性:主持人:“sftp.example.net”用户名:“又”端口:22 ServerSystem:“Windows”DatetimeType:“datetime”ServerLocale:“en_US”DirParserFcn: @matlab.io.ftp。parseDirListingForWindows RemoteWorkingDirectory:“/ home / jsmith”

打开一个连接到一个SFTP服务器通过创建一个SFTP对象。下载一个文件和子文件夹的内容列表使用SFTP服务器上的对象。SFTP会话结束时,关闭连接。

首先,连接到示例SFTP服务器。

s = sftp (“sftp.example_galapagos.net”,“又”,“密码”,“PaSsWoRd123”)
SFTP属性:主持人:“sftp.example_galapagos.net”用户名:“又”端口:22 ServerSystem:“unix”DatetimeType:“datetime”ServerLocale:“en_US”DirParserFcn: @matlab.io.ftp。parseDirListingForUnix RemoteWorkingDirectory:“/ home / jsmith”

顶级文件夹的内容列表。

dir (s)
air_quality鱼昆虫README。三种鸟类指数。气候指数三种哺乳动物的爬行动物。html降雨sftp.html

下载该文件固定从SFTP服务器。的mget功能下载一份当前的MATLAB®文件夹。

mget(年代,“固定”);

阅读的内容的副本固定使用readline函数。查看前三行。

自述= readline (“固定”);自述(1:3)
ans =4×1的字符串“欢迎光临”“加拉帕戈斯群岛研究所数据中心”“SFTP区”

子文件夹使用的内容列表dir函数。

dir(年代,“家/ jsmith的小鸟”)
信天翁鸭子苍鹭鹦鹉avocets_stilts猎鹰翠鸟鹈鹕barn_owls火烈鸟嘲鸟企鹅黑鸟军舰汽车野鸡鲣鸟水鸟northern_storm_petrels鸽子红衣主教蜡嘴鸟珍珠鸡的鱼鹰珩鸬鹚海鸥猫头鹰rails杜鹃鹰派蛎鹬鹬

改变一个子文件夹使用cd函数。的输出cd是当前文件夹的路径在SFTP服务器上,而不是你当前的MATLAB文件夹。

cd(年代,“家庭/ jsmith /鸟/苍鹭”)
ans = " home / jsmith /鸟/苍鹭”

列出当前文件夹的内容。

dir (s)
文档great_egret_data migration_patterns great_blue_heron_data green_heron_data nesting_behaviors

SFTP服务器关闭连接。你也可以关闭连接通过删除SFTP对象或让连接超时。

关上(年代)

连接到示例SFTP服务器。指定服务器区域联合王国。指定SFTP服务器的列表命令输出要解析相对于Windows使用名称-值参数“DirParserFcn”

s = sftp (“sftp.example_london.net”,“又”,“密码”,“PaSsWoRd123”,“ServerLocale”,“en_GB”,“DirParserFcn”,@matlab.io.ftp.parseDirListingForWindows)
SFTP属性:主持人:“sftp.example_london.net”用户名:“又”端口:22 ServerSystem:“Windows”DatetimeType:“datetime”ServerLocale:“en_GB”DirParserFcn: @matlab.io.ftp。parseDirListingForWindows RemoteWorkingDirectory:“/ home / jsmith”

连接到示例SFTP服务器。指导SFTP对象返回日期为文本。

s = sftp (“sftp.example.net”,“又”,“DatetimeType”,“文本”)
SFTP属性:主持人:“sftp.example.net”用户名:“又”端口:22 ServerSystem:“Windows”DatetimeType:“文本”ServerLocale:“en_US”DirParserFcn: @matlab.io.ftp。parseDirListingForWindows RemoteWorkingDirectory:“/ home / jsmith”

视图的日期属性dir输出。

d = dir (s);d.date
ans = ' 03 - 12月- 2015 '

限制

  • SFTP对象不支持代理服务器设置。万博1manbetx

提示

  • 通过~象征的cd功能导航到登录文件夹。

版本历史

介绍了R2021b