我有两个服务器帐户(同一大学Linux服务器的两个学生用户帐户)。我想使用SFTP命令在它们之间传输文件。
我尝试使用$ ssh user1@server_host登录第一个用户帐户,然后尝试连接第二个用户帐户并访问我想要使用$ sftp user2@server_host:/path/to/files传输的文件,接下来我想使用$ get /path/to/files/file.txt将文件从user2获取到user1。
但是sftp user2@server_host:/path/to/files显示了错误:ssh: connect to host gw.cse.cuhk.edu.hk po
我希望将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
在linux中,我们在ls命令中有很多用于列出文件的标志。我们不能在sftp命令中做同样的事情。例如,在linux中,我可以通过运行命令列出一个文件的完整时间:ls --full-time filename当我通过sftp连接到服务器时,我不能运行命令: ls -- full -time。
sftp中的ls帮助没有列出所有可用的标志。所以你能告诉我sftp中的ls标志是什么吗?
谢谢!
我管理大量客户端连接的遗留系统,以便使用大量的科学数据文件。目前,这些用户通过SFTP进行连接,并且由于体验级别和用例的巨大多样性,密码身份验证一直是与所有用户一起工作的最简单方法。他们中的许多人只是从Windows连接来使用FileZilla之类的东西的销售人员,这会造成巨大的支持负担。
一个新客户端坚持(有理由)进行SSH公钥身份验证。对于我来说,在不干扰其他100+客户端使用的auth策略的情况下,向新客户端提供此选项的最佳方法是什么?
我当前的sshd_config如下所示:
Match group sftpusers
ChrootDirectory /sftp/%u
我正在使用python将一个文件从一个Linux虚拟机发送到另一个Linux虚拟机,它运行得很好。文件发送成功,但在发送文件之前,我想将文件编码更改为"UTF-8“,并将行尾改为"Unix/Linux”。如何做到这一点?
下面是通过sftp发送文件的代码:
with pysftp.Connection(host=host, username=userName, password=passWord) as sftpVal:
#print(sftpVal.listdir()) #list directories in sftp home
sftpVal.put(so
我有一个包含以下代码片段的Perl脚本,它调用系统外壳程序以通过SFTP获取一些文件,并使用WinZip解压它们:
# Run script to get files from remote server
system "exec_SFTP.vbs";
# Unzip any files that were retrieved
foreach $zipFile (<*.zip>) {
system "wzunzip $zipFile";
}
即使检索到一些文件,它们也永远不会被解压缩,因为在检索到文件并关闭SFTP连接时,Perl脚本已
我正在使用。我的目的是列出这些文件以及它们的修改日期。我可以列出日期为UTC格式的文件。我需要EDT格式的。是否有可用的设置?
目前,我在Linux上使用Perl5。
my $sftp = Net::SFTP->new($host, %args) or die "Cannot connect to $@";
$sftp->ls('.' , sub { print $_[0]->{longname}, "\n" });
我在远程sftp上有一组文件,每天都需要下载到服务器上。sftp使用ssh密钥进行身份验证,因此我创建了ssh密钥并将其添加到远程服务器授权文件夹中。我能够成功地手动执行ssh/sftp。我已经创建了一个脚本,它首先执行eval ssh-agent -s,然后执行ssh-add。当手动运行时,我们会得到密码提示,scp可以正常工作。
eval `ssh-agent -s`;
ssh-add;
#copy from remote to local
当我将这个crontab添加到每天运行时,我需要一些建议/最佳实践来避免输入密码。
我正在我的Linux服务器上执行一个Python脚本,它使用pysftp连接到另一个服务器,以便读取位于远程服务器目录中的文件。当我运行脚本时,它在连接到远程服务器时失败,并创建一个文本文件,标题是:“此服务只允许sftp连接。”
此文件是在我的项目目录中创建的。下面是我代码中失败的部分:
def sftp_get_file(sftp_host, sftp_username):
with pysftp.Connection(sftp_host, sftp_username) as sftp:
# transfer file from remote to local