[GH-ISSUE #3736] 如何禁用通过frp进行sftp传输文件? #2972

Closed
opened 2026-05-05 13:55:09 -06:00 by gitea-mirror · 5 comments
Owner

Originally created by @Corner430 on GitHub (Oct 31, 2023).
Original GitHub issue: https://github.com/fatedier/frp/issues/3736

Describe the feature request

我有一台电脑,是Ubuntu系统,这台电脑是在局域网,当我在局域网时候是通过局域网ip进行ssh连接和sftp传文件。为了让我在外面也能连接到这台电脑,我买了一个腾讯云服务器,通过腾讯云服务器的ip在这台电脑上做了一个frp内网穿透,这样一来我就可以在外面通过frp进行ssh连接了,但问题是我想禁用通过frp进行sftp传文件,因为这太昂贵了,但是却要保留在局域网内可以通过sftp传文件。应该怎么操作呢?

一言以蔽之,怎么在单单禁用通过frp进行sftp传输文件呢?

Describe alternatives you've considered

No response

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
Originally created by @Corner430 on GitHub (Oct 31, 2023). Original GitHub issue: https://github.com/fatedier/frp/issues/3736 ### Describe the feature request 我有一台电脑,是Ubuntu系统,这台电脑是在局域网,当我在局域网时候是通过局域网ip进行ssh连接和sftp传文件。为了让我在外面也能连接到这台电脑,我买了一个腾讯云服务器,通过腾讯云服务器的ip在这台电脑上做了一个frp内网穿透,这样一来我就可以在外面通过frp进行ssh连接了,但问题是我想禁用通过frp进行sftp传文件,因为这太昂贵了,但是却要保留在局域网内可以通过sftp传文件。应该怎么操作呢? 一言以蔽之,怎么在单单禁用通过frp进行sftp传输文件呢? ### Describe alternatives you've considered _No response_ ### Affected area - [X] Docs - [ ] Installation - [ ] Performance and Scalability - [ ] Security - [ ] User Experience - [ ] Test and Release - [ ] Developer Infrastructure - [ ] Client Plugin - [ ] Server Plugin - [X] Extensions - [ ] Others
Author
Owner

@Corner430 commented on GitHub (Oct 31, 2023):

I have a computer running Ubuntu in a local network. When I'm within the local network, I use the local IP to SSH and SFTP into this computer. To enable remote access from outside the network, I've purchased a Tencent Cloud server and set up FRP (Frp2) for intranet penetration using the Tencent Cloud server's IP. This allows me to SSH into the computer remotely through FRP. However, I want to disable SFTP file transfer through FRP as it's quite costly, but I still want to retain the ability to use SFTP within the local network. How can I achieve this?

In short, how can I solely disable SFTP file transfer through FRP?

<!-- gh-comment-id:1786387131 --> @Corner430 commented on GitHub (Oct 31, 2023): I have a computer running Ubuntu in a local network. When I'm within the local network, I use the local IP to SSH and SFTP into this computer. To enable remote access from outside the network, I've purchased a Tencent Cloud server and set up FRP (Frp2) for intranet penetration using the Tencent Cloud server's IP. This allows me to SSH into the computer remotely through FRP. However, I want to disable SFTP file transfer through FRP as it's quite costly, but I still want to retain the ability to use SFTP within the local network. How can I achieve this? In short, how can I solely disable SFTP file transfer through FRP?
Author
Owner

@superzjg commented on GitHub (Oct 31, 2023):

frp是通过某端口转发数据而已。
你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。
你可以搜索引号内的关键词,有些文章参考。
ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。

<!-- gh-comment-id:1786464049 --> @superzjg commented on GitHub (Oct 31, 2023): frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。
Author
Owner

@Corner430 commented on GitHub (Oct 31, 2023):

frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。

感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。
遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。
之所以要进行这样的运维是由于用户太多了。

我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。

总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。
ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。

<!-- gh-comment-id:1786581534 --> @Corner430 commented on GitHub (Oct 31, 2023): > frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。 感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。 遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。 之所以要进行这样的运维是由于用户太多了。 我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。 总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。 ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。
Author
Owner

@superzjg commented on GitHub (Oct 31, 2023):

frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。

感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。 遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。 之所以要进行这样的运维是由于用户太多了。

我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。

总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。 ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。

获取ip可以参考frp的这一功能:
https://gofrp.org/zh-cn/docs/features/common/realip/

不过我还是觉得把ssh和sftp的端口分开比较好,不使用同一端口22,frp也就不会转发了。

<!-- gh-comment-id:1786596145 --> @superzjg commented on GitHub (Oct 31, 2023): > > frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。 > > 感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。 遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。 之所以要进行这样的运维是由于用户太多了。 > > 我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。 > > 总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。 ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。 获取ip可以参考frp的这一功能: https://gofrp.org/zh-cn/docs/features/common/realip/ 不过我还是觉得把ssh和sftp的端口分开比较好,不使用同一端口22,frp也就不会转发了。
Author
Owner

@Corner430 commented on GitHub (Oct 31, 2023):

frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。

感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。 遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。 之所以要进行这样的运维是由于用户太多了。
我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。
总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。 ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。

获取ip可以参考frp的这一功能: https://gofrp.org/zh-cn/docs/features/common/realip/

不过我还是觉得把ssh和sftp的端口分开比较好,不使用同一端口22,frp也就不会转发了。

明白了,非常感谢,我现在去尝试一下

<!-- gh-comment-id:1786600452 --> @Corner430 commented on GitHub (Oct 31, 2023): > > > frp是通过某端口转发数据而已。 你应该把“系统ssh和sftp的端口设为不同“,或者说“ssh和sftp服务分离”。 你可以搜索引号内的关键词,有些文章参考。 ps. 觉得你在外网访问ssh就好了,不通过它传文件就可以了,自己主观控制,为何一定要关闭。 > > > > > > 感谢您的回答。是这样的,我希望可以通过是否通过frp连入而决定是否可以使用sftp服务。如果是通过frp连入,那么就拒绝使用sftp,否则就允许。 遗憾的是防火墙无法对于frp连入的服务进行正确的ip匹配。 之所以要进行这样的运维是由于用户太多了。 > > 我现在正在尝试通过 环境变量 SSH_CONNECTION 和 日志文件 /var/log/auth.log 进行异常的 ip规则匹配。 > > 总之,我希望可以让用户通过frp连入的时候,禁用sftp,也就是不能通过frp进行sftp传输文件。 ps. 大家传的文件太大了,动辄几十GB,占用带宽,影响了其他用户。 > > 获取ip可以参考frp的这一功能: https://gofrp.org/zh-cn/docs/features/common/realip/ > > 不过我还是觉得把ssh和sftp的端口分开比较好,不使用同一端口22,frp也就不会转发了。 明白了,非常感谢,我现在去尝试一下
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#2972
No description provided.