【Linux 安装sftp和修改sftp工作目录】

1、创建SFTP 服务配置文件

1.1将sshd_config 文件复制一份,作为SFTP 服务的配置文件。

cp /etc/ssh/sshd_config /etc/ssh/sftpd_config

1.2编辑/etc/ssh/sftpd_config文件

vi /etc/ssh/sftpd_config

1.3找到port 改成10022

Port 10022

1.4找到PidFile 改成如下

PidFile /var/run/sftpd.pid

2、创建服务启动文件

2.1将SSH 服务对应的systemd unit 文件复制一份,用于SFTP 服务

cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service

2.2编辑sftpd.service 文件

vi /etc/systemd/system/sftpd.service

2.3将Description 修改为如下:

Description=SFTP server daemon

2.4将After修改为如下:

After=syslog.target network.target auditd.service sshd.service

2.5将ExecStart修改为如下

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

3、在SSH 服务配置文件中禁用sftp

### 3.1修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
## 3.2 将sftp 功能对应的配置行注释,禁用sftp 功能,注释下面一行
#Subsystem sftp /usr/libexec/openssh/sftp-server

4、限制允许访问SFTP 服务的用户范围

## 4.1修改/etc/ssh/sftpd_config,
vi /etc/ssh/sftpd_config
## 4.2将原有sftp 功能对应的配置行注释,并在其下增加新的配置,限制仅允许用户组sftponly 中的用户才可访问SFTP 服务。

#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp -l INFO -f AUTH
AllowGroups sftponly
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp -l INFO

5、重启SSH 和SFTP 服务

systemctl restart sshd
systemctl restart sftpd
##注: RHEL6.X 需使用service sshd restart命令。

6、查看端口启动情况,确认10022已开启

netstat -anpt|grep LISTEN

6.1、重新装载配置文件

service sshd reload

6.2、日志配置

cp /etc/rsyslog.conf /etc/rsyslog.conf.bk

vim /etc/rsyslog.conf
#新增以下配置:
auth,authpriv.* /var/log/sftp.log

6.3、重启rsyslog 服务:

service rsyslog restart
#服务启动后,日志生成在: /var/log/sftp.log

7、创建sftp专用用户组

7.1、看一下生产的服务器上是否有这个属组,如果有可以不写

groupadd sftponly           

7.2、创建sftp专用用户,禁止使用shell功能

useradd sftpuser -g sftponly -s /bin/false

7.3、设置sftp用户密码#用户密码是双引号里面的,可修改

#如果命令黑名单则
passwd sftpuser 
#首次输入密码
123
#确认密码
123

7.4、进入sftp用户家目录

cd /home/sftpuser/

7.5、删除ssh登录文件

rm -f .b*

7.6、创建sftp工作目录

mkdir /home/sftpuser/sftpwork     #可更改路径

7.7、修改sftp工作目录属组

chown sftpuser:sftponly /home/sftpuser/sftpwork

7.8、修改sftp工作目录权限

chmod 755 /home/sftpuser
chmod 755 /home/sftpuser/sftpwork/

7.9、修改sftp用户家目录用户

chown root:sftponly /home/sftpuser

8、如果要修改家目录

sftp的工作目录上级目录必须是root,且权限不能是777

mkdir -p /intf/sftpdir/sftpwork/
cd /etc/ssh
vim sftpd_config
#将ChrootDirectory %h 注释掉
#ChrootDirectory %h
#并在下面添加
ChrootDirectory /intf/sftpdir
cd /etc/ssh
systemctl restart sftpd
#查看端口
netstat -anpt | grep LISTEN | grep 10022
#赋权
chown root:sftponly /intf/sftpdir
chmod 755 /intf
chmod 755 /intf/sftpdir
chmod 755 /intf/sftpdir/sftpwork
chown sftpuser:sftponly /intf/sftpdir/sftpwork
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值