Linux安装sftp服务

这篇具有很好参考价值的文章主要介绍了Linux安装sftp服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

处理步骤:

1.关闭防火墙和selinux

[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# vi /etc/sysconfig/selinux
# 把文件中的SELINUX=enforcing 改为SELINUX=disabled
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled

2.查看ssh是否已安装并启动

[root@localhost ~]# ssh -V
OpenSSH_8.2p1, OpenSSL 1.1.1f  31 Mar 2020
[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-12-01 11:50:01 CST; 4h 26min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1393 (sshd)
    Tasks: 1
   Memory: 1.8M
   CGroup: /system.slice/sshd.service
           └─1393 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

3.新建用户组、用户和sftp目录

1.新建目录

[root@localhost ~]# mkdir -p /data/sftp/sftpuser
[root@localhost ~]# chown root:root /data/sftp/sftpuser
[root@localhost ~]# chmod 755 /data/sftp/sftpuser

2.新建用户组

[root@localhost ~]# groupadd sftp

3.新建用户

[root@localhost ~]# useradd -g sftp -d /data/sftp/sftpuser -M -s /sbin/nologin sftpuser
-g指定用户组、-d指定家目录、-s nologin 不能登录系统、-M不创建家目录
[root@localhost ~]# echo 'xxxxx'|passwd --stdin sftpuser

4.新建sftp可写目录

[root@localhost ~]# mkdir -p /data/sftp/sftpuser/upload
[root@localhost ~]# chown -R sftpuser:sftp /data/sftp/sftpuser/upload
[root@localhost ~]# chmod -R 777 /data/sftp/sftpuser/upload

4.配置SSH和SFTP 服务器

1.备份sshd_config配置文件并查看文件中的有效配置

[root@localhost ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[root@localhost ~]# egrep -v '^$|^#' /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin yes
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem   sftp    /usr/libexec/openssh/sftp-server

2.修改sshd_config配置文件

注释掉:
Subsystem   sftp    /usr/libexec/openssh/sftp-server
新增:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
# 下面两项是与安全有关
AllowTcpForwarding no
X11Forwarding no #设置不允许SSH的X转发
​
[root@localhost upload]# egrep -v '^$|^#' /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin yes
AuthorizedKeysFile  .ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding no
PrintMotd no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no

5.重启ssh服务

[root@localhost ~]# systemctl restart sshd

6.新建测试文件并授权

[root@localhost upload]# echo 111 > 1.txt
[root@localhost upload]# ll
总用量 4.0K
-rw------- 1 root root 4 12月  1 17:43 1.txt
新建的文件权限默认为600,需要手动授权777
[root@localhost upload]# chmod 777 1.txt 
[root@localhost upload]# ll
总用量 4.0K
-rwxrwxrwx 1 root root 4 12月  1 17:43 1.txt

7.从另一台机器测试sftp可用性

[root@centos-01 data]# sftp sftpuser@192.168.137.16
sftpuser@192.168.137.16's password: 
Connected to 192.168.137.16.
sftp> ls -l
drwxrwxrwx    2 1002     1002         4096 Dec  1 09:38 upload
sftp> cd upload/
sftp> ls -l
-rwxrwxrwx    1 root     root            4 Dec  1 09:36 1.txt
sftp> get 1.txt 
Fetching /upload/1.txt to 1.txt
/upload/1.txt                                                                                                         100%    4     7.4KB/s   00:00    
sftp> exit
[root@centos-01 ~]# ll
-rwxr-xr-x 1 root root     4 Dec  1 17:44 1.txt

OK!文章来源地址https://www.toymoban.com/news/detail-443593.html

到了这里,关于Linux安装sftp服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Linux打开和关闭防火墙指令

    设置开机启用防火墙:systemctl enable firewalld.service 启动防火墙:systemctl start firewalld 设置开机禁用防火墙:systemctl disable firewalld.service 关闭防火墙(有时间限制):systemctl stop firewalld 检查防火墙状态:systemctl status firewalld

    2024年02月16日
    浏览(9)
  • Linux如何开启和关闭防火墙

    防火墙是一种安全机制,可以保护计算机网络不受未经授权的访问和攻击。防火墙位于计算机网络的边缘,监控网络传输的流量,根据预设的规则过滤进出网络的数据包,阻止不安全的数据包进入网络,从而保护网络不受攻击。 在Linux系统中,防火墙是一个重要的安全措施。

    2024年02月06日
    浏览(10)
  • Linux-cenos6-防火墙关闭

    Linux-cenos6-防火墙关闭

    service iptables stop 1、基本操作 # 查看防火墙状态 1 service iptables status # 停止防火墙 1 service iptables stop # 启动防火墙 1 service iptables start # 重启防火墙 1 service iptables restart # 永久关闭防火墙 1 chkconfig iptables off # 永久关闭后重启 1 chkconfig iptables on 2、开启80端口 1 vim /etc/sysconfig/ipta

    2024年02月06日
    浏览(11)
  • 蓝易云:linux怎么关闭防火墙详细教程

    在Linux下关闭防火墙可以通过以下步骤实现: 1. 检查防火墙状态 首先需要检查当前系统的防火墙状态,可以使用以下命令: ``` sudo systemctl status firewalld ``` 如果防火墙当前正在运行,会显示出如下信息: ``` ● firewalld.service - firewalld - dynamic firewall daemon    Loaded: loaded (/usr/li

    2024年02月14日
    浏览(13)
  • Ubuntu----Linux命令-----防火墙(查看、关闭、启动)

    Ubuntu----Linux命令-----防火墙(查看、关闭、启动)

    一、查看防火墙状态 命令:ufw status 说明:         ·活动:防火墙是开启的         ·不活动:防火墙是关闭的 二、开启防火墙 命令:sudo ufw enable 开启防火墙后,可以查看防火墙状态 三、关闭防火墙 命令:sudo ufw disable

    2024年02月09日
    浏览(17)
  • linux查看防火墙,开放端口、关闭端口-运维必备

    查看防火墙状态:active (running) 即是开启状态 如果不是显示active状态,需要打开防火墙 查看所有已开放的端口 新增防火墙开放端口 关闭防火墙端口 配置结束后需要输入重载命令并重启防火墙以生效配置 firewalld的基本使用命令 配置firewalld-cmd命令 systemctl相关命令 查看端口号

    2024年02月13日
    浏览(9)
  • linux(centos7)常用命令 开启关闭防火墙

    linux(centos7)常用命令 开启关闭防火墙

    在 CentOS 7 中,默认的防火墙服务是 firewalld ,它取代了之前版本中的 iptables 。 firewalld 使用了名为“firewall-cmd”的命令行工具来管理防火墙规则。 firewalld 的关键概念包括: 区域 (Zones) : 用于定义不同信任级别的网络连接。你可以为不同的网络接口或来源 IP 分配不同的区域,

    2024年01月21日
    浏览(30)
  • Centos上 关闭Linux防火墙(iptables) 及 SELinux

    一、关闭防火墙 1、重启后永久性生效: 开启: chkconfig iptables on 关闭: chkconfig iptables off 2、即时生效,重启后失效: 开启: service iptables start 关闭: service iptables stop 在开启了防火墙时,做如下设置,开启相关端口,修改 /etc/sysconfig/iptables 文件,添加以下内容: -A INPUT

    2024年02月08日
    浏览(10)
  • Linux Centos7 防火墙(开启、关闭、重启、状态、端口)

    Linux Centos7 防火墙(开启、关闭、重启、状态、端口)

    防火墙(Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙功能 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免

    2024年02月02日
    浏览(34)
  • 阿里云服务器开启所有端口,防火墙关闭情况下无法访问rabbitmq 15672端口

    阿里云服务器开启所有端口,防火墙关闭情况下无法访问rabbitmq 15672端口

    记录一下自己遇到的问题, 在开启所有端口且关闭防火墙 的情况下,无法访问  ,排查问题后发现是因为我直接docker pull rabbitmq,未安装RabbitMQ的web管理界面。 解决方法如下: 1、进入rabbitmq容器  2、执行 3、刷新页面即可访问  

    2024年02月16日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包