标签: sftp

如何在SSH中限制除某个组之外的所有人?

我想限制服务器上的所有用户只能使用 SFTP,而管理员组的成员应该具有完全的 SSH 访问权限。

我发现可以通过使用Match Group和来限制组的成员ForceCommand。但我发现没有逻辑否定。所以我试图反向构造它:

# SFTP only, full access only for admin group
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Match Group admin
    X11Forwarding yes
    AllowTcpForwarding yes
    ForceCommand /usr/local/sbin/ssh-allowcmd.sh
Run Code Online (Sandbox Code Playgroud)

并构建了一个脚本ssh-allowcmd.sh来执行给定的命令或/bin/bash进行交互式访问。

有更好的解决方案吗?

ssh sftp

9
推荐指数
1
解决办法
8319
查看次数

使用 SCP/SFTP 删除远程服务器上超过 X 天的文件

有谁知道使用 SCP/SFTP 删除远程服务器上超过 X 天的文件的好方法吗?当然,我可以在 perl 等上编写一些脚本,但我觉得这太过分了。
任何UNIX方式?
单线?
单独的实用程序?

谢谢

PS 任务是删除一些过时的备份文件。

files sftp scp deleting

9
推荐指数
2
解决办法
2万
查看次数

使用 VIP 的 SSH 主机密钥验证问题

我们在 VIP 上有 2 台生产服务器,一次只有一台在使用,例如:

myservice.mycompany.uk 通常指向 server1,如果 server1 出现故障,它会更改为指向 server2。

还有一些其他服务器需要通过 SFTP 将文件发送到 myservice.mycompany.uk,如果我们故障转移到 server2,它应该对它们完全透明。

问题是,虽然在 server1 和 server2 上都安装了密钥,但其他服务器会出现主机密钥验证问题,因为 server2 的主机密钥与 server1 的主机密钥不同。这会导致安全错误(因为启用了严格检查),必须从 known_hosts 中删除一行才能使其工作。

我们的 IT 人员建议我们可以在 known_hosts 中创建 2 个条目,一个使用 server1 的密钥,一个使用 server2 的密钥,两者都使用主机 myservice.mycompany.uk。

这可能奏效吗?如何在 Windows 上使用 putty/psftp 完成此操作?由于主机密钥存储在注册表中,因此不允许重复名称。有没有更好的方法,例如,我们可以强制服务器具有相同的主机密钥吗?

cluster ssh sftp

9
推荐指数
1
解决办法
1万
查看次数

SFTP:将许多文件从一个文件夹移动(重命名)到另一个文件夹(不是一个一个)

我需要将所有文件从current_path移动到current_path/DestinationFolder

我使用的SFTP 版本是:SFTP 协议版本 2

可用的命令有:

sftp> help
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode' 
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath …
Run Code Online (Sandbox Code Playgroud)

solaris unix shell sftp

9
推荐指数
1
解决办法
6万
查看次数

SFTP 与 chroot 取决于连接用户的公钥

我想构建一个服务器(运行 Debian 或 FreeBSD),通过 sshfs 接收来自不同客户端的备份。每个客户端应该能够读取和写入自己的备份数据,但不能读取和写入任何其他客户端的数据。

我有以下想法:每个客户端通过公钥身份验证连接到 backup@backupserver.local。用户备份有一个特殊的 authorized_keys 文件,如下所示:

command="internal-sftp" chroot="/backup/client-1/data" ssh-rsa (key1)
command="internal-sftp" chroot="/backup/client-2/data" ssh-rsa (key2)
command="internal-sftp" chroot="/backup/client-3/data" ssh-rsa (key3)
etc...
Run Code Online (Sandbox Code Playgroud)

这样做的好处是我不需要为每个客户端使用单独的用户,而且我可以轻松地使用脚本自动生成 authorized_keys 文件。

只有一个问题:chroot=...不起作用。OpenSSH 的authorized_keys 文件似乎没有ChrootDirectory 的等效文件(它在/etc/ssh/sshd_config 中工作,无论是全局还是在Match User 块中)。

是否有一种相当简单的方法可以使用 OpenSSH 完成我想要的操作?也许command=...以巧妙的方式使用指令?或者,是否还有其他 SFTP 服务器可以执行我想要的操作?

编辑:为了更清楚我想要实现的目标:我希望多个客户端能够在我的服务器上存储文件。每个客户端都不能看到任何其他客户端的文件。而且我不想让我的服务器有几十个用户帐户,所以我想要一个易于管理的解决方案,让客户共享一个用户帐户,但仍然无法访问彼此的文件。

linux freebsd ssh sftp ssh-keys

9
推荐指数
2
解决办法
2948
查看次数

rssh 或 scponly 的最新替代品

我需要:

  • 一个scpsftp服务器
  • 使用chroot环境
  • 非登录(scp/sftp 用户不允许使用 ssh)

我发现的选项和相关问题:

  • 超过 6 年没有更新
  • 真的需要重新编译整个东西来改变配置吗??

rssh

  • 据说有很多安全问题
  • 好多年没更新了
  • 作者自己说“ rssh完了。期
  • Ubuntu 似乎在以某种方式维护它。不幸的是,我需要它用于 CentOS 服务器

SSH 服务器

  • 它使用 sftp 和 chroot 完成工作,但不适用于 sftp
  • 否则看起来还不错

所以,我想知道还有哪些其他选择,或者其他人如何处理这个特定问题。

ssh login chroot sftp scp

9
推荐指数
1
解决办法
8266
查看次数

添加“匹配组”子句后 sftp/ssh 失败

我正在尝试在 EC2 上的 ubuntu/precise 上设置 sftp 服务器。我已经成功添加了一个可以通过 ssh 连接的新用户,但是一旦我添加了以下子句:

Match Group sftp
    ChrootDirectory /home/%u
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

我无法再连接(根本无法连接,无论是 ssh 还是其他方式),我收到消息

Error: Connection refused
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)

我能够连接子系统设置为:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Run Code Online (Sandbox Code Playgroud)

知道为什么 ssh 服务器会因这个“匹配”子句而失败吗?基本上,除了“chroot”部分之外,一切都在工作。

linux ubuntu ssh ftp sftp

8
推荐指数
1
解决办法
1万
查看次数

尝试仅在 chroot jail 中为一个用户设置 SFTP

希望你们能帮忙看看我是否在这里做了一些奇怪的事情,我正在尝试使用我设置的用户登录,FileZilla 显示给我:

Command:    open "///@///" Command: Pass: ********
Status: Connected to ///
Error:  Connection closed by server with exitcode 1
Error:  Could not connect to server
Run Code Online (Sandbox Code Playgroud)

所以,我进入了 auth.log,我看到了这个:

Feb 12 11:08:49 sshd[12056]: Accepted password for /// from /// port /// ssh2
Feb 12 11:08:49 sshd[12056]: pam_unix(sshd:session): session opened for user /// by (uid=0)
Feb 12 11:08:50 sshd[12164]: subsystem request for sftp by user ///
Feb 12 11:08:50 sshd[12056]: pam_unix(sshd:session): session closed for user ///
Run Code Online (Sandbox Code Playgroud)

这是相关用户的密码条目:

///:x:666:666:///,,,:/chroot:/usr/bin/rssh
Run Code Online (Sandbox Code Playgroud)

如果我尝试自己运行 rssh,我会发现Allowed commands: …

ssh chroot sftp ubuntu-12.04

8
推荐指数
1
解决办法
8628
查看次数

如何设置由 S3(或类似)支持的 SFTP 服务器

我需要设置一个本质上具有非常大容量的 SFTP 服务器。我需要向我们的合作伙伴之一提供 SFTP 登录详细信息到服务器,他们将在其中上传数百万个文件,总计数百 TB。然后我会选择性地阅读其中的一些文件。这是唯一的实际要求,任何技术选择都可供选择。

我想到的最简单的方法是让某种 EC2 实例运行 SFTP 服务器,这样上传的任何内容要么直接发送到 S3,要么某种进程在上传时发现新文件,将它们复制到S3,并从磁盘中删除它们。

这是最好的方法吗?有没有其他方法可以获得基本上具有“无限且神奇增长的磁盘空间”的服务器?

谢谢你的帮助!丹尼尔

sftp amazon-s3 amazon-ebs amazon-web-services

8
推荐指数
2
解决办法
3万
查看次数

可以通过 SSH 连接 - 但不能通过 SFTP 连接吗?退出状态 127

不幸的是,我无法连接sftp到我的 VPS:

这是我的sshd_config

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits …
Run Code Online (Sandbox Code Playgroud)

ssh centos sftp centos7

8
推荐指数
1
解决办法
1万
查看次数