允许通过严格受限的 SSH 连接传输 SFTP 文件

允许通过严格受限的 SSH 连接传输 SFTP 文件

由于各种原因,我需要一次只允许一个 SSH 连接到服务器specificuser,并且当他们登录时,需要立即执行命令,限制他们可以做的事情。

因此我创建了一个脚本/usr/local/bin/limit-sshd(基于这个问题和答案) 在建立 SSH 连接时执行(使用ForceCommandin /etc/ssh/sshd_config),非常简单,如下所示

#!/bin/bash
if [[ $USER == specificuser ]]
then
    /run/this/command
else
    ...
fi

现在创建此功能的用例包括将文件传输到服务器,您通常可以使用 SFTP 客户端(例如)来实现pscp

我在 Windows 机器上使用 PuTTY,并且有一个configuration用于我需要访问的服务器的配置;配置包括共享 SSH 连接。我可以登录到机器。然后在我的 Windows 命令行上尝试

pscp -load configuration c:\path\to\file_to_copy specificuser@<server IP>:/path/to/destination

这对于没有上述限制的用户有效,但会失败

FATAL ERROR: Received unexpected end-of-file from server

我认为这是由于通过 SSH 连接传递的某些命令由于我上面的设置而导致服务器无法处理。

(如何)我可以通过此连接启用文件传输?

相关内容