美文网首页Linux Troubleshooting
Asianux Server 7 sftp与ssh分离

Asianux Server 7 sftp与ssh分离

作者: yangqing | 来源:发表于2020-04-29 10:09 被阅读0次

分离SSH和SFTP服务

复制SSH相关文件,作为sftp的配置文件

cp /usr/lib/systemd/system/sshd.service  /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd  /etc/pam.d/sftpd
cp /etc/ssh/sshd_config  /etc/ssh/sftpd_config
ln -sf  /usr/sbin/service  /usr/sbin/rcsftpd
ln -sf  /usr/sbin/sshd  /usr/sbin/sftpd
cp /etc/sysconfig/sshd  /etc/sysconfig/sftp
cp /var/run/sshd.pid  /var/run/sftpd.pid && echo > /var/run/sftpd.pid

修改 sftpd.service 文件,使用 systemctl 管理 sftp 服务

vi /etc/systemd/system/sftpd.service
# /etc/systemd/system/sftpd.service 内容如下
[Unit]
Description=sftp servier daemon                       # 需要修改
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify                                           # 需要修改
PIDFile=/var/run/sftpd.pid                            # 需要修改
EnvironmentFile=/etc/sysconfig/sftp                   # 需要修改
ExecStart=/usr/sbin/sshd -f /etc/ssh/sftpd_config     # 需要修改
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

修改 sftpd_config 文件

vi /etc/ssh/sftpd_config
# /etc/ssh/sftpd_config 
Port 20022                                           # 需要修改 用于 sftp 服务端口
PermitRootLogin no                                   # 需要修改 禁止 root 用户登陆
PidFile /var/run/sftpd.pid                           # 需要修改 指定 pid 文件
# Subsystem  sftp  /usr/libexec/openssh/sftp-server  # 需要注释此行
Subsystem sftp internal-sftp                         # 需要添加
Match User sftpuser                                  # 需要添加 sftp 登陆用户
X11Forwarding no                                     # 需要添加
AllowTcpForwarding no                                # 需要添加
ForceCommand internal-sftp                           # 需要添加

添加 sftpuser 用户

useradd sftpuser                             # 添加用户
passwd  sftpuser                             # 设置密码
usermod  -s  /bin/false sftpuser             # 禁止登陆

禁用 SELinux

setenforce 0
sed -i "s/^SELINUX\=enforcing/SELINUX\=disabled/g" /etc/selinux/config

防火墙放行 sftp 端口

firewall-cmd --zone=public --add-port=[sftp端口]/tcp --permanent && firewall-cmd --reload

启动 sftp 服务

systemctl daemon-reload
systemctl start sftpd

测试

ssh -p 20022 sftpuser@localhost      # 无法登陆
sftp -P 20022 sftpuser@localhost     # 可以登陆

相关文章

网友评论

    本文标题:Asianux Server 7 sftp与ssh分离

    本文链接:https://www.haomeiwen.com/subject/ktxgwhtx.html