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 修改sf