linux sftp ssh端口分开,SFTP和SSH分离

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

1.1 描述

SFTP(SSH File Transfer Protocol)即安全文件传送协议),是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。

sftp是基于ssh上实现的,所以严格来说我们是无法来关闭ssh,而只是使用sftp。

ssh默认使用的是22端口,当然这个端口是可以修改的。

1.2 应用场景

局域网中有两批用户:一批用户:可以通过ssh登录上我们的服务器

一批用户:可以使用sftp服务,但是我们不希望这些能够能通过ssh登录上来

这种情况怎么处理: 我们可以将sftp用户的单独分成一个组,限制他们的操作,这个可以利用Rssh和Scponly或者实现。

但是如果提过sftp服务需要给另外一个局域网的用户使用,这样我们虽然对这些用户做了限制,我们的ssh服务还是开着的,这样他人还是可以猜我们服务器的用户名和密码,通过ssh登录上来,最好的方法是我们暴露出去的服务根本无法通过ssh登陆上来。

为了满足这两批用户的需求,我们可以再开一个ssh服务,命名为sftpd.service, 并新开一个端口号(22220),限制22220上的ssh服务只能使用sftp服务,这里利用了ssh配置文件里面的Subsystem,我们在里面只开sftp服务。

二 sftpd.service 实现

2.1 拷贝sshd_config1cp /etc/ssh/sshd_config /etc/ssh/sftpd_config

2.2 修改sftpd_config1

2Port 22220

PidFile /var/run/sftpd.pid

2.3 拷贝 systemd 中sshd.service1cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service

2.4 修改 systemd 中sftpd.service1

2Description=OpenSSH sftpd instance daemon

ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sftpd_config $OPTIONS

2.5 SELinux处理1semanage port -a -t ssh_port_t -p tcp 22220

2.6 启动sftpd.service1

2systemctl enable sftpd.service

systemctl start sftpd.service

2.7 测试

三 限制服务

3.1 只允许某个组下的用户使用sftpd服务

修改 /etc/ssh/sftpd_config1AllowGroup sftponly

3.2 关闭ssh服务

修改 /etc/ssh/sftpd_config1

2Subsystem sftp internal-sftp

Subsystem sftp internal-sftp -l INFO -f AUTH(推荐)

3.3 将限制的用户

修改用户的shell脚本1usermod -s /bin/false )

将用户添加到sftponly组1usermod -a -G sftponly

3.4 测试1

2

3

4

5scp -f /home/hap/test/1.txt [email protected]:/home/hap/test 成功

scp -p 22220 -f /home/hap/test/1.txt [email protected]:/home/hap/test 成功

参考

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值