sftp与ssh端口分离_设置服务器端口监听

sftp与ssh端口分离_设置服务器端口监听sftp,是ssh的功能之一,也就是说是使用SSH协议来传输文件的。OS系统内开启ssh服务和sftp服务都是通过/usr/sbin/sshd这个后台程序监听22端口,而sftp服务作为一个子服务,是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,如果没有配置Subsystem参数,则系统是不能进行sftp访问的。具体操作(本验证在RedHatLinux7.9上进行):一、复制SSH相关文件,作为sftp的配置文件1、拷贝/usr/lib/systemd/sys

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

sftp,是ssh的功能之一,也就是说是使用SSH协议来传输文件的。
OS系统内开启ssh服务和sftp服务都是通过/usr/sbin/sshd这个后台程序监听22端口,而sftp服务作为一个子服务,是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,如果没有配置Subsystem参数,则系统是不能进行sftp访问的。
具体操作(本验证在Red Hat Linux7.9上进行):
一、复制SSH相关文件,作为sftp的配置文件
1、拷贝/usr/lib/systemd/system/目录下的sshd.service文件,放到/etc/systemd/system/目录下,命名为sftpd.service

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

2、拷贝/etc/pam.d/目录下的sshd文件,放到同目录,命名为sftpd

cp /etc/pam.d/sshd  /etc/pam.d/sftpd

3、拷贝/etc/ssh/目录下的sshd_config文件,放到同目录,命名为sftpd_config

cp /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文件,放到同目录,命名为sftp

cp /etc/sysconfig/sshd  /etc/sysconfig/sftp

7、拷贝/var/run/目录下的sshd.pid文件,放到同目录,命名为sftpd.pid

cp /var/run/sshd.pid  /var/run/sftpd.pid

二、修改复制好的配置文件
1、修改/etc/systemd/system/目录下sftpd.service文件

vi /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文件

vi /etc/ssh/sftpd_config

执行 :set number 将行号显示出来后,具体修改如下:

①找到第17行,将
#Port 22
改成
Port 2222

②找到第38行,将
#PermitRootLogin yes
改成
PermitRootLogin no
也就是取消该行的注释,并将yes改成no,这行参数的目的是拒绝root用户登录

③找到116行,将
#PidFile /var/run/sshd.pid
改成
PidFile /var/run/sftpd.pid
也就是取消该行的注释,并将sshd.pid改成sftpd.pid

④找到第132行,将
Subsystem sftp /usr/libexec/openssh/sftp-server
注释
#Subsystem sftp /usr/libexec/openssh/sftp-server,并添以下5行:

Subsystem sftp internal-sftp      # 指定使用sftp服务使用系统自带的internal-sftp
Match User sftpuser               # 匹配sftp组的用户,若要匹配多个组,可用逗号分开
X11Forwarding no                  # 禁止用户使用端口转发
AllowTcpForwarding no             # 禁止用户使用端口转发
ForceCommand internal-sftp        # 只能用于sftp登录

3、清空/var/run/目录下的sftpd.pid文件内容

> /var/run/sftpd.pid

4、添加sftp的专用账户

useradd  sftpuser
passwd  sftpuser
usermod  -s  /bin/false sftpuser

5、禁用selinux

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

6、重启sftpd服务

systemctl daemon-reload
systemctl restart sftpd

7、检查是否添加sftpd服务开机自启动

systemctl enable sftpd

三、验证问题解决
验证的时候,发现
sftp root@10.127.1.111
sftp sftpuser@10.127.1.111
也就是默认的22端口依然能够成功连接,解决方法是:
将/etc/ssh/sshd_config文件中的第132行
Subsystem sftp /usr/libexec/openssh/sftp-server
注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
然后重启sshd服务

systemctl restart sshd

这样就只有
sftp -P 2222 sftpuser@10.127.1.111
能够连接成功。
原因:sftp服务是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,注释掉Subsystem参数配置,OS系统就不会通过默认的sftp形式进行访问了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194015.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sap安装配置_sapgui730安装指南

    sap安装配置_sapgui730安装指南一.下载和安装    WEBIDE是免安装的,下载完解压就行。       下载地址  Developerguid在线文档  在线文档打开会比较慢,可以下载下来观看。二.配置ABAP链接 在IDE的解压文件的配置文件夹中新建文件ER1(没有后缀名)  编辑新建文件添加如下内容:  Description=

    2022年10月18日
  • WOFF格式「建议收藏」

    WOFF格式「建议收藏」WOFF格式WOFF文件格式是用WOFF(WebOpenFontFormat)创建的网页开放字体格式,Web开放字体格式(WebOpenFontFormat,简称WOFF)是一种网页所采用的字体格式标准,保存一个压缩的容器中,支持TTF(TrueType)字体和OPT(OpenType)字体,转载于:https://www.cnblogs.com/xiatc/p/8944385…

    2022年10月30日
  • EM算法详解+通俗例子理解[通俗易懂]

    EM算法详解+通俗例子理解[通俗易懂]文章目录1、总述2、定义3、感性例子:例子简介:加入隐变量zEM初级版EM进阶版例子总结4、Jensen不等式(前置知识)5、EM思想6、EM推导7、应用8、参考文献1、总述期望最大算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。EM算法是机器学习十大算法之一,或许确实是因它在实际中的效果很好吧。下面先来说说它的定义。gif演示2、定义EM…

    2022年6月18日
  • 定时任务之crontab命令「建议收藏」

    定时任务之crontab命令「建议收藏」定时任务之crontab命令

    2022年4月21日
  • 关于W25Q128地址的定义

    1.W25Q128将16M的内存分为256个块,每个块是64K;又将一个块分为16个扇区,一个扇区是4K;又将一个扇区分为16个页,一个页是256字节地址。话不多说,上图:2.在图上右边的红框中可以看到Block0(块0)的地址是000000-00FFFF,再看到左边红框中Block0的16个扇区,地址范围对应的就是Block0的地址范围了,第一个扇区的起始地址就是0000,终止地址是0F…

    2022年4月6日
  • 51单片机汇编教程[通俗易懂]

    51单片机汇编教程[通俗易懂]  很多电子爱好者,都想学习单片机这门技术。下面的这一系列教程是www.51hei.com专门为初学者入门而准备的,从底层硬件入手基于汇编和c两种语言,详细的介绍了单片机的原理,指令,寄存器,以及接口等,后面还为你准备了一些小的设计。都是从单片机最基本的东西讲起,相信你一定能看懂,并且学会单片机这门有意思的技术,有什么问题可在文章后面的评论留言。  第1课:单片机简叙第2课:单片…

    2022年6月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号