ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

ssh和sftp服务分离

ssh和sftp服务分离 目录一、增加sftp的deamon二、增加sftp的service三、其他配套文件四、修改配置文件五、分别重启两个服务由于安全需要客户这边想把sftp使用的端口与ssh使用的端口分开。我们知道sftp没有自己的服务器守护进程它需要依赖sshd守护进程来完成客户端的连接操作。sftp服务作为ssh的一个子服务是通过 /etc/ssh/sshd_config 配置文件中的Subsystem实现的如果没有配置Subsystem参数则系统是不能进行sftp访问的。所以要分离ssh和sftp服务的话基本的思路是创建两个sshd进程分别监听在不同的端口一个作为ssh服务的deamon另一个作为sftp服务的deamon。分离步骤如下一、增加sftp的deamon为了方便我们将sftp服务的后台程序命名为/usr/sbin/sftpd。/usr/sbin/sftpd做一个连接指向/usr/sbin/sshd。cp-a/usr/sbin/sshd/usr/sbin/sftpd二、增加sftp的service实现sftp服务时将/usr/lib/systemd/system/sshd.service 复制到 /etc/systemd/system/sftpd.service然后修改sftpd.service文件内容。cp-a/usr/lib/systemd/system/sshd.service/etc/systemd/system/sftpd.service[roottongweb RMANTEST]# vi /etc/systemd/system/sftpd.service[Unit]DescriptionSftpd server daemon#(这行需要修改)Documentationman:sshd(8)man:sshd_config(5)Afternetwork.target sshd-keygen.service Wantssshd-keygen.service[Service]Typenotify EnvironmentFile/etc/sysconfig/sftpd#(这行需要修改)ExecStart/usr/sbin/sftpd-f/etc/ssh/sftpd_config#(这行需要修改)ExecReload/bin/kill-HUP$MAINPIDKillModeprocessRestarton-failure RestartSec42s[Install]WantedBymulti-user.targetsystemctl enable sftpd.service如果openssh采用二进制包升级过比如从OS自带的7.4p1版本升级到8.6p1版本sftpd.service文件中需要做下面的修改[Service]Typesimple三、其他配套文件复制/etc/pam.d/目录下的sshd文件放到同目录命名为sftpdcp-a/etc/pam.d/sshd/etc/pam.d/sftpd复制/etc/ssh/目录下的sshd_config文件放到同目录命名为sftpd_configcp-a/etc/ssh/sshd_config/etc/ssh/sftpd_config复制/etc/sysconfig/目录下的sshd文件放到同目录命名为sftpdcp-a/etc/sysconfig/sshd/etc/sysconfig/sftpd创建sftp服务运行pid文件touch/var/run/sftpd.pid四、修改配置文件修改参数适配sftp服务同时在ssh服务中停掉sftp服务。修改sftpd配置文件vim/etc/ssh/sftpd_config 修改Port 22为Port 3322并去掉注释。 修改#PidFile /var/run/sshd.pid为PidFile /var/run/sftpd.pid注释掉Subsystem sftp/usr/local/openssh/libexec/sftp-server 在文件末尾增加以下内容 Subsystem sftp internal-sftp Match User sftpuser##限制用户ChrootDirectory/sftpdir##限制sftp目录X11Forwarding no##与sftp无关所以关闭AllowTcpForwarding no##与sftp无关所以关闭PermitTTY no##不允许登入TTYForceCommand internal-sftp修改sshd配置文件vim/etc/ssh/sshd_config 取消注释PidFile/var/run/sshd.pid 增加注释#Subsystem即停掉sftp子服务五、分别重启两个服务systemctl restart sshd systemctl restart sftpd
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表