【日常积累】Linux下sftp搭建

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

概述

SFTP是Secure File Transfer Protocol的缩写,是安全文件传送协议。可以为传输文件提供一种安全的加密方法。跟ftp几乎语法功能一样。 SFTP是SSH的一部分,是一种传输档案至Blogger伺服器的安全方式。它本身没有单独的守护进程,必须使用sshd守护进程来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以使用SFTP是十分安全的。但由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。在对网络安全性要求更高时,代替FTP使用。

在安装使用sftp之前,我们先对sftp和ftp做一个简单的对比:
SFTP(Secure File Transfer Protocol)和FTP(File Transfer Protocol)都是用来进行文件传输的协议,但它们有以下几个主要区别:

  • 连接方式不同:FTP 使用 TCP 端口 21 上的控制连接建立连接。而 SFTP 是在客户端和服务器之间通过 SSH 协议 (TCP 端口 22) 建立的安全连接来传输文件。

  • 安全性不同:SFTP 使用加密传输认证信息和传输的数据,所以使用 SFTP 相对于 FTP 是非常安全。

  • 传输效率不同:SFTP 这种传输方式使用了加密解密技术,所以传输效率比普通的 FTP 要低得多。

  • 使用协议不同:FTP 使用 TCP / IP 协议。而SFTP 是 SSH 协议的一部分,它是一种远程登录信息。这也说明FTP的通用性更好。

  • 功能差别:SFTP比FTP功能更加强大,支持对文件进行加密、压缩、校验等处理。SFTP还支持文件和目录的远程复制、移动和删除等高级功能,而FTP通常只能进行基本的文件传输和管理。

安装

默认情况下,ssh服务已经安装。所以sftp相当于也安装了,只需要修改配置即可。

服务器规划

角色 IP地址
sftp服务端 192.168.2.140
sftp客户端 192.168.2.141

创建登录sftp的用户信息

创建sftp登录使用的用户,如果不特定指定组名 默认和用户名一样,家目录默认问/home/用户名。后面也可以创建其他目录并设置相应的用户组信息也可以正常访问。

#添加组,后面认证使用,不指定组名时默认组和用户名一样
[root@k8s-m1 ~]# groupadd sftp
[root@k8s-m1 ~]# useradd -g sftp sftp 
[root@k8s-m1 ~]# passwd sftp  
Changing password for user sftp.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

新指定目录

[root@k8s-m1 ~]# mkdir -p /mnt/data/sftp 
[root@k8s-m1 ~]# chown  root:root /mnt/data/
[root@k8s-m1 ~]# chmod  -R 755  /mnt/data/
[root@k8s-m1 ~]# chown sftp:sftp  /mnt/data/sftp/
[root@k8s-m1 ~]# ll -d /mnt/data/
drwxr-xr-x 3 root root 18 Aug 25 15:34 /mnt/data/
[root@k8s-m1 ~]# ll -d /mnt/data/sftp/
drwxr-xr-x 2 sftp sftp 6 Aug 25 15:34 /mnt/data/sftp/
[root@k8s-m1 ~]# 

修改ssh的相关配置

#在配置文件最后添加如下配置,注意要先注释掉下面Subsystem这一行
[root@k8s-m1 ~]# vim /etc/ssh/sshd_config
#Subsystem      sftp    /usr/libexec/openssh/sftp-server  #需要注销
Subsystem sftp internal-sftp
ChallengeResponseAuthentication yes
Protocol 2
##配置SFTP
Match Group sftp                                      #使用用户组为sftp
X11Forwarding no
ChrootDirectory /mnt/data/                      #指定sftp访问的目录
ForceCommand internal-sftp
AllowTcpForwarding no
#重启
[root@k8s-m1 ~]# systemctl restart sshd

免密登录配置

上面新创建的用户现在还可以使用ssh登录。后面可以通过修改/etc/passwd来禁止ssh登录。

以下操作在另一台要免密登录sftp服务器的服务器上操作。

[root@k8s-m2 ~]# ssh-keygen -t rsa
[root@k8s-m2 ~]# ssh-copy-id  sftp@192.168.2.140
# 免密登录设置好后,sftp和ssh都能正常登录
[root@k8s-m2 ~]# ssh  sftp@192.168.2.140
Last login: Fri Aug 25 15:30:51 2023 from 192.168.2.141

[root@k8s-m2 ~]# sftp  sftp@192.168.2.140
Connected to 192.168.2.140.
sftp> pwd
Remote working directory: /
sftp> 
#此次用pwd显示是/ 目录,这个目录其实是上面ChrootDirectory 设置的目录。此/目录和Linux下的/目录不一样,创建一个文件或者用cd命令都能检查出来。证明了ChrootDirectory 配置是有效的。
sftp> ls
sftp  
sftp> cd sftp/
sftp> lcd /root/
sftp> put zookeeper-3.4.12.tar.gz .
Uploading zookeeper-3.4.12.tar.gz to /sftp/./zookeeper-3.4.12.tar.gz
zookeeper-3.4.12.tar.gz                                                                100%   35MB  78.6MB/s   00:00    
sftp> ls
zookeeper-3.4.12.tar.gz       
sftp>
#能正常上传本地文件
sftp> get zookeeper-3.4.12.tar.gz 
Fetching /sftp/zookeeper-3.4.12.tar.gz to zookeeper-3.4.12.tar.gz
/sftp/zookeeper-3.4.12.tar.gz                                                          100%   35MB  78.8MB/s   00:00    
sftp> 

取消使用sftp账号进行ssh登录

直接在192.168.2.140 sftp服务端操作
修改/etc/passwd中sftp账号的相关信息为nologin

[root@k8s-m1 ~]# vim  /etc/passwd
sftp:x:1007:1008::/home/sftp:/bin/nologin

客户端测试

[root@k8s-m2 ~]# ssh  sftp@192.168.2.140
This service allows sftp connections only.
Connection to 192.168.2.140 closed.
[root@k8s-m2 ~]# 

更多关于Linux的知识请前往博客主页查看,编写过程中可能由于能力有限难免出现问题,敬请指出,谢谢。文章来源地址https://www.toymoban.com/news/detail-786458.html

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

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

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

相关文章

  • Linux(三):Linux服务器下日常实操命令 (常年更新)

    cd命令 :切换目录  cd   :切换当前目录百至其它目录,比如进入/etc目录,则执行 cd /etc cd / :在Linux 系统中斜杠“/”表示的是根目录。cd / ,即进入根目录. cd ~:进入用户在该系统的home目录,例如xz用户,则进入/root/xz目录 cd.. :返回上一级目录   cd - : 切换到上一次目录

    2024年02月14日
    浏览(56)
  • 内网搭建 SFTP 服务器

    转载自cpolar极点云的文章:如何在内网搭建SFTP服务器,并发布到公网可访问 下载地址:http://www.freesshd.com/?ctt=download 选择freeFTPD.exe下载 下载后,点击安装 安装之后,它会提示是否启动后台服务,Yes 安装后,点击开始菜单– freeFTPd, 注意 :这里要点击鼠标右键, 以管理员权

    2024年02月06日
    浏览(41)
  • SSH连接SFTP传输:如何使用libssh库在Linux环境下进行(文件、文件夹)传输到远端服务器

    target_host :远端主机IP target_username :远端主机用户名 ssh_options_set() 函数设置会话的选项。最重要的选项是: SSH_OPTIONS_HOST:要连接到的主机的名称 SSH_OPTIONS_PORT:使用的端口(默认为端口 22) SSH_OPTIONS_USER:要连接的系统用户 SSH_OPTIONS_LOG_VERBOSITY:打印的消息数量 直接传输密

    2024年04月13日
    浏览(72)
  • 本地电脑搭建SFTP服务器,并实现公网访问

    1.1 下载 freesshd 服务器软件 下载地址:freeSSHd and freeFTPd 选择freeFTPD.exe下载 下载后,点击安装 安装之后,它会提示是否启动后台服务,Yes 安装后,点击开始菜单– freeFTPd, 注意 :这里要点击鼠标右键, 以管理员权限 打开freeFTPd,如果以普通用户打开freeFTPd, 将无法保存配置

    2024年02月08日
    浏览(68)
  • 使用本地电脑搭建可以远程访问的SFTP服务器

    1.1 下载 freesshd 服务器软件 下载地址:freeSSHd and freeFTPd 选择freeFTPD.exe下载 下载后,点击安装 安装之后,它会提示是否启动后台服务,Yes 安装后,点击开始菜单– freeFTPd, 注意 :这里要点击鼠标右键, 以管理员权限 打开freeFTPd,如果以普通用户打开freeFTPd, 将无法保存配置

    2024年02月12日
    浏览(78)
  • 【OpenSSH】Windows系统使用OpenSSH搭建SFTP服务器

    Windows Server 2019 OpenSSH-Win64(下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases) windows设置-账户-其他用户 本地用户和组 - 用户,新建用户,如SFTP,设置用户名和密码 这一步非常重要,否则用户登录上来就可以对计算机所有磁盘和目录进行操作。因此,必须要限制用户访问

    2024年04月14日
    浏览(43)
  • 怎样通过本地电脑搭建SFTP服务器,并实现公网访问?

    1.1 下载 freesshd 服务器软件 下载地址:freeSSHd and freeFTPd 选择freeFTPD.exe下载 下载后,点击安装 安装之后,它会提示是否启动后台服务,Yes 安装后,点击开始菜单– freeFTPd, 注意 :这里要点击鼠标右键, 以管理员权限 打开freeFTPd,如果以普通用户打开freeFTPd, 将无法保存配置

    2024年02月12日
    浏览(74)
  • 【Linux环境搭建】用云服务器搭建Linux环境

    目录 1. 我们为什么要学Linux 2. 云服务器购买 3. 远程连接云服务器 4. 如何创建新用户   5. 第一个Linux程序 总结: 写在最后: 作为一个程序员,你必须学好Linux,至于为什么,这个问题, 在我们日后的学习中,自然会慢慢展现出来,而校招对于Linux也有掌握的要求, 所以我们

    2024年02月03日
    浏览(65)
  • 【Linux】云服务器搭建Linux环境

    目录 🍊一.环境选择🍊 🍎二.购买云服务器🍎 🍏三.使用XShell远程登录云服务器🍏 1.下载XShell 2.进入授权界面,填写姓名和邮件,选择只需Xshell   3.填写信息后,会将下载链接发到邮件,点击链接下载安装即可 4.进入XShell ,使用命令行方式远程登录云服务器          

    2024年02月04日
    浏览(66)
  • Windows本地快速搭建SFTP文件服务器,并端口映射实现公网远程访问

    转载自cpolar极点云的文章:如何在内网搭建SFTP服务器,并发布到公网可访问 下载地址:http://www.freesshd.com/?ctt=download 选择freeFTPD.exe下载 下载后,点击安装 安装之后,它会提示是否启动后台服务,Yes 安装后,点击开始菜单– freeFTPd, 注意 :这里要点击鼠标右键, 以管理员权

    2024年02月05日
    浏览(78)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包