急!统信SSH与SFTP收信可以不通过25端口吗怎么分离?

一、分离SSH和SFTP服务
系统内开启ssh服务和sftp服务都是通过/usr/sbin/sshd这个后台程序监听22端口,而sftp服务作为一个子服务,是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,如果没有配置Subsystem参数,则系统是不能进行sftp访问的。
具体操作如下:
1.1 复制SSH相关文件,作为sftp的配置文件
1、
拷贝/usr/lib/systemd/system/目录下的sshd.service文件,放到/etc/systemd/system/目录下,命名为:sftpd.servicecp /usr/lib/systemd/system/sshd.service
/etc/systemd/system/sftpd.service
2、
拷贝/etc/pam.d/目录下的sshd文件,放到同目录,命名为:sftpdcp /etc/pam.d/sshd
/etc/pam.d/sftpd
3、
拷贝/etc/ssh/目录下的sshd_config文件,放到同目录,命名为:sftpd_configcp /etc/ssh/sshd_config
/etc/ssh/sftpd_config
4、
对service和rcsftpd进行软连接ln -sf
/usr/sbin/service
/usr/sbin/rcsftpd
5、
对sshd和sftpd进行软连接ln -sf
/usr/sbin/sshd
/usr/sbin/sftpd
6、
拷贝/etc/sysconfig/目录下的sshd文件,放到同目录,命名为:sftpcp /etc/sysconfig/sshd
/etc/sysconfig/sftp
7、
拷贝/var/run/目录下的sshd.pid文件,放到同目录,命名为:sftpd.pidcp /var/run/sshd.pid
/var/run/sftpd.pid
2.2
修改复制好的配置文件
1、
修改/etc/systemd/system/目录下sftpd.service文件vim /etc/systemd/system/sftpd.service
[Unit]
Description=sftpd server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sftp
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
2、
修改/etc/ssh/目录下的sftpd_config文件vim /etc/ssh/sftpd_config具体修改如下:Port 22 改成Port
指定端口
改成PermitRootLogin no就是取消该行的注释,并将yes改成no,这行参数的目的是拒绝root用户登录
改成PidFile /var/run/sftpd.pid就是取消该行的注释,并将sshd.pid改成sftpd.pid
Subsystem
sftp
/usr/libexec/openssh/sftp-server注释
Subsystem sftp internal-sftpMatch User sftpuserX11Forwarding noAllowTcpForwarding noForceCommand internal-sftp
3、
清空/var/run/目录下的sftpd.pid文件内容
**将内容删掉**
4、
添加sftp的专用账户useradd
sftpuserpasswd
sftpuserusermod
-s
/bin/false sftpuser
5、
禁用selinuxsetenforce 0
6、
重启sftpd服务systemctl daemon-reloadsystemctl start sftpd

我要回帖

更多关于 收信可以不通过25端口吗 的文章

 

随机推荐