我希望将SFTP用户限制在他们的主文件夹中,这样他们就不会看到其他人的文件夹/主目录。不幸的是,所有SFTP用户目前都可以看到其他用户的文件夹。所有的帖子和例子都指出了ChrootDirectory,但由于某种原因,我无法让它发挥作用。
$ sudo nano /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h # The %h causes "Broken pipe" error while trying to login
C
我想检查是否有更快的方法从物理计算机上的文件夹中不存在的SFTP下载数据。问题是这些文件是5分钟间隔的快照,而当前的SFTP文件夹有数千个快照(至少从2016年8月开始每隔5分钟)。
我计划询问客户是否可以清理SFTP,并有一个删除旧数据的过程,但在此期间,我也想改进我的代码,以便下载。
本质上,我检查SFTP上的每个文件夹,然后检查我的计算机上相应的文件夹。如果文件不存在,我会下载它(我现在使用的是Windows10)。但是,即使列出所有文件并检查它们是否存在,也需要很长时间(其中一个文件夹需要1400秒,这意味着我不可能尝试每5分钟运行一次)。
with pysftp.Connection
我知道如何连接SFTP服务器并获得最新文件:
with pysftp.Connection(host=host, username=user, password=pass, cnopts=cnopts) as sftp:
print("Connected")
sftp.cwd('/path')
latest = 0
latestfile = None
for fileattr in sftp.listdir_attr():
if fileattr.filename.startswith('Na
我正在通过终端连接到SFTP连接。我想下载一个文件。
如果我转到文件夹,我可以列出内容:
ls
我可以清楚地看到文件,让我们称之为"my_file.csv“。
如果我尝试这个代码:
sftp get my_file.csv
我知道这个错误:
Connecting to get...
ssh: Could not resolve hostname get: Name or service not known
Couldn't read packet: Connection reset by peer
我可以用“较少的my_file.csv”来查看文件。它显然是在那里和可访问的,但
远程路由器可以通过SSH访问: 16.04 scp从命令行来回复制文件。
ASUSWRT-Merlin RT-AC68U 384.7-2 Sun Oct 21 17:18:03 UTC 2018
USER@router:/tmp/home/root#
# uname -a
Linux RT-AC68U-3D90 2.6.36.4brcmarm #1 SMP PREEMPT Sun Oct 21 13:27:49 EDT 2018 armv7l ASUSWRT-Merlin
sftp似乎不能在命令行中工作:
sftp user@monkeybusiness.com
user@monk