Sftp
名称:
singularity storage create sftp - SSH/SFTP
用法:
singularity storage create sftp [命令选项] [参数...]
描述:
--host
要连接的SSH主机。
例如 "example.com"。
--user
SSH用户名。
--port
SSH端口号。
--pass
SSH密码,留空以使用ssh-agent。
--key-pem
原始的PEM编码的私钥。
如果指定,将覆盖key_file参数。
--key-file
PEM编码的私钥文件的路径。
留空或将key-use-agent设置为"use ssh-agent"。
文件名中的开始`~`会被扩展,环境变量例如`${RCLONE_CONFIG_DIR}`也会被扩展。
--key-file-pass
解密PEM编码的私钥文件用的口令。
仅支持PEM加密的密钥文件(旧的OpenSSH格式)。不能使用新的OpenSSH格式的加密的密钥。
--pubkey-file
可选的公钥文件的路径。
如果有已签名的证书要用于身份验证,请设置此选项。
文件名中的开始`~`会被扩展,环境变量例如`${RCLONE_CONFIG_DIR}`也会被扩展。
--known-hosts-file
可选的known_hosts文件的路径。
设置此值以启用服务器主机密钥验证。
文件名中的开始`~`会被扩展,环境变量例如`${RCLONE_CONFIG_DIR}`也会被扩展。
示例:
| ~/.ssh/known_hosts | 使用OpenSSH的known_hosts文件。
--key-use-agent
当设置时,强制使用ssh-agent。
当还设置了key-file时,将读取指定密钥文件的".pub"文件,并且只会从ssh-agent请求相关的密钥。这可以避免在ssh-agent包含许多密钥时出现“Too many authentication failures for *username*”错误。
--use-insecure-cipher
启用不安全的密码和密钥交换方法的使用。
这会启用以下不安全的密码和密钥交换方法:
- aes128-cbc
- aes192-cbc
- aes256-cbc
- 3des-cbc
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group-exchange-sha1
这些算法是不安全的,攻击者可能会通过它们来恢复明文数据。
如果使用密码或key_exchange高级选项,请将该选项设置为false。
示例:
| false | 使用默认密码列表。
| true | 启用aes128-cbc密码和diffie-hellman-group-exchange-sha256、diffie-hellman-group-exchange-sha1密钥交换。
--disable-hashcheck
禁用执行SSH命令以确定远程文件哈希是否可用。
留空或将其设置为false以启用哈希计算(推荐),设置为true以禁用哈希计算。
--ask-password
允许在需要时询问SFTP密码。
如果设置了此选项且未提供密码,则rclone将:
- 请求密码
- 不会询问ssh代理
--path-override
重写SSH shell命令使用的路径。
这样可以在SFTP和SSH路径不同的情况下进行校验和计算。这个问题会影响到 Synology NAS 等设备。
如果共享文件夹可以在表示卷的目录中找到:
rclone sync /home/local/directory remote:/directory --sftp-path-override /volume2/directory
如果主目录可以在名为“home”的共享文件夹中找到:
rclone sync /home/local/directory remote:/home/directory --sftp-path-override /volume1/homes/USER/directory
--set-modtime
如果设置了,就将远程文件的修改时间设置为与本地文件一致。
--shell-type
远程服务器上的SSH shell类型,如果有的话。
留空以进行自动检测。
示例:
| none | 没有shell访问权限
| unix | Unix shell
| powershell | PowerShell
| cmd | Windows命令提示符
--md5sum-command
读取md5哈希的命令。
留空以进行自动检测。
--sha1sum-command
读取sha1哈希的命令。
留空以进行自动检测。
--skip-links
设置为跳过任何符号链接和任何其他非常规文件。
--subsystem
指定远程主机上的SSH2子系统。
--server-command
指定在远程主机上运行SFTP服务器的路径或命令。
如果定义了server_command,将忽略subsystem选项。
--use-fstat
如果设置,则使用fstat而不是stat。
一些服务器限制打开的文件数量,并且在打开文件之后调用Stat将引发服务器错误。设置此标志将在已打开的文件句柄上调用Fstat而不是Stat。
已发现,这对于IBM Sterling SFTP服务器有帮助,该服务器的“extractability”级别设置为1,这意味着任何给定时间只能打开一个文件。
--disable-concurrent-reads
如果设置,则不使用并发读取。
通常,并发读取是安全的,并且不使用它们会降低性能,因此此选项默认禁用。
一些服务器限制文件的下载次数。使用并发读取可能触发此限制,因此如果您的服务器返回
Failed to copy: file does not exist
那么您可能需要启用此标志。
如果禁用了并发读取,则忽略use_fstat选项。
--disable-concurrent-writes
如果设置,则不使用并发写入。
通常,rclone使用并发写入来上传文件。这大大提高了性能,尤其对于远程服务器而言。
如有必要,此选项禁用并发写入。
--idle-timeout
空闲连接关闭的最大时间。
如果在给定的时间内没有将连接返回到连接池中,则rclone将清空连接池。
将其设置为0以无限期保持连接。
--chunk-size
上传和下载块的大小。
这控制SFTP协议数据包中有效负载的最大大小。
RFC将其限制为32768字节(32k),这是默认值。然而很多服务器支持更大的大小,通常限制为最大总包大小为256k,将其设置为更大将大大增加高延迟链接上的传输速度。这个包括OpenSSH,例如,使用255k的值效果很好,留有足够的空间用于开销,同时仍然在256k的总包大小范围内。
在使用大于32k的值之前,请务必进行全面测试,并且仅在始终连接到相同的服务器或经过充分广泛的测试后使用。如果在复制较大的文件时出现“failed to send packet payload: EOF”,大量的“connection lost”或“corrupted on transfer”等错误,请尝试降低该值。由[rclone serve sftp](/commands/rclone_serve_sftp)运行的服务器将使用标准的32k最大有效负载发送数据包,因此当下载文件时不能设置不同的chunk_size,但它接受的数据包的总大小可达256k,因此对于上传,chunk_size可以像上面的OpenSSH示例那样设置。
--concurrency
一个文件的同时待处理请求的最大数量。
这控制一个文件的同时待处理请求的最大数量。增加该数量可以提高高延迟链接上的吞吐量,但会使用更多的内存。
--set-env
要传递给sftp和命令的环境变量。
以以下形式设置环境变量:
VAR=value
以及以空格分隔的多个变量,例如
VAR1=value VAR2=value
并且以引号括起来的带有空格的变量,例如
"VAR3=value with space" "VAR4=value with space" VAR5=nospacehere
--ciphers
以空格分隔的加密密码列表,按偏好顺序排列。
至少有一个密码必须与服务器配置匹配。可以使用ssh -Q cipher检查配置。
如果use_insecure_cipher为true,则不能设置此选项。
示例:
aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com
--key-exchange
以空格分隔的密钥交换算法列表,按偏好顺序排列。
至少有一个算法必须与服务器配置匹配。可以使用ssh -Q kex检查配置。
如果use_insecure_cipher为true,则不能设置此选项。
示例:
sntrup761x25519-sha512@openssh.com curve25519-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256
--macs
以空格分隔的MAC(消息认证码)算法列表,按偏好顺序排列。
至少有一种算法必须与服务器配置匹配。可以使用ssh -Q mac检查配置。
示例:
umac-64-etm@openssh.com umac-128-etm@openssh.com hmac-sha2-256-etm@openssh.com
选项:
--disable-hashcheck 禁用执行SSH命令以确定远程文件哈希是否可用。 (默认值: false) [$DISABLE_HASHCHECK]
--help, -h 显示帮助
--host value 要连接的SSH主机。 [$HOST]
--key-file value PEM编码的私钥文件的路径。 [$KEY_FILE]
--key-file-pass value 解密PEM编码的私钥文件用的口令。 [$KEY_FILE_PASS]
--key-pem value 原始的PEM编码的私钥。 [$KEY_PEM]
--key-use-agent 当设置时,强制使用ssh-agent。 (默认值: false) [$KEY_USE_AGENT]
--pass value SSH密码,留空以使用ssh-agent。 [$PASS]
--port value SSH端口号。 (默认值: 22) [$PORT]
--pubkey-file value 可选的公钥文件的路径。 [$PUBKEY_FILE]
--use-insecure-cipher 启用不安全的密码和密钥交换方法的使用。 (默认值: false) [$USE_INSECURE_CIPHER]
--user value SSH用户名。 (默认值: "$USER") [$USER]
高级
--ask-password 允许在需要时询问SFTP密码。 (默认值: false) [$ASK_PASSWORD]
--chunk-size value 上传和下载块的大小。 (默认值: "32Ki") [$CHUNK_SIZE]
--ciphers value 以空格分隔的加密密码列表,按偏好顺序排列。 [$CIPHERS]
--concurrency value 一个文件的同时待处理请求的最大数量。 (默认值: 64) [$CONCURRENCY]
--disable-concurrent-reads 如果设置,则不使用并发读取。 (默认值: false) [$DISABLE_CONCURRENT_READS]
--disable-concurrent-writes 如果设置,则不使用并发写入。 (默认值: false) [$DISABLE_CONCURRENT_WRITES]
--idle-timeout value 空闲连接关闭的最大时间。 (默认值: "1m0s") [$IDLE_TIMEOUT]
--key-exchange value 以空格分隔的密钥交换算法列表,按偏好顺序排列。 [$KEY_EXCHANGE]
--known-hosts-file value 可选的known_hosts文件的路径。 [$KNOWN_HOSTS_FILE]
--macs value 以空格分隔的MAC(消息认证码)算法列表,按偏好顺序排列。 [$MACS]
--md5sum-command value 读取md5哈希的命令。 [$MD5SUM_COMMAND]
--path-override value 重写SSH shell命令使用的路径。 [$PATH_OVERRIDE]
--server-command value 指定在远程主机上运行SFTP服务器的路径或命令。 [$SERVER_COMMAND]
--set-env value 要传递给sftp和命令的环境变量 [$SET_ENV]
--set-modtime 如果设置了,就将远程文件的修改时间设置为与本地文件一致。 (默认值: true) [$SET_MODTIME]
--sha1sum-command value 读取sha1哈希的命令。 [$SHA1SUM_COMMAND]
--shell-type value 远程服务器上的SSH shell类型,如果有的话。 [$SHELL_TYPE]
--skip-links 设置为跳过任何符号链接和任何其他非常规文件。 (默认值: false) [$SKIP_LINKS]
--subsystem value 指定远程主机上的SSH2子系统。 (默认值: "sftp") [$SUBSYSTEM]
--use-fstat 如果设置,则使用fstat而不是stat。 (默认值: false) [$USE_FSTAT]
常规
--name value 存储的名称 (默认值: 自动生成)
--path value 存储的路径
Last updated