经典网站设计案例,微信app下载链接,wordpress二次元主体,上海公司注册核名查询概述
SFTP是Secure File Transfer Protocol的缩写#xff0c;是安全文件传送协议。可以为传输文件提供一种安全的加密方法。跟ftp几乎语法功能一样。 SFTP是SSH的一部分#xff0c;是一种传输档案至Blogger伺服器的安全方式。它本身没有单独的守护进程#xff0c;必须使用s…概述
SFTP是Secure File Transfer Protocol的缩写是安全文件传送协议。可以为传输文件提供一种安全的加密方法。跟ftp几乎语法功能一样。 SFTP是SSH的一部分是一种传输档案至Blogger伺服器的安全方式。它本身没有单独的守护进程必须使用sshd守护进程来完成相应的连接操作所以从某种意义上来说SFTP并不像一个服务器程序而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据所以使用SFTP是十分安全的。但由于这种传输方式使用了加密/解密技术所以传输效率比普通的FTP要低得多。在对网络安全性要求更高时代替FTP使用。
在安装使用sftp之前我们先对sftp和ftp做一个简单的对比 SFTPSecure File Transfer Protocol和FTPFile 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.140sftp客户端192.168.2.141
创建登录sftp的用户信息
创建sftp登录使用的用户如果不特定指定组名 默认和用户名一样家目录默认问/home/用户名。后面也可以创建其他目录并设置相应的用户组信息也可以正常访问。
#添加组后面认证使用不指定组名时默认组和用户名一样
[rootk8s-m1 ~]# groupadd sftp
[rootk8s-m1 ~]# useradd -g sftp sftp
[rootk8s-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.新指定目录
[rootk8s-m1 ~]# mkdir -p /mnt/data/sftp
[rootk8s-m1 ~]# chown root:root /mnt/data/
[rootk8s-m1 ~]# chmod -R 755 /mnt/data/
[rootk8s-m1 ~]# chown sftp:sftp /mnt/data/sftp/
[rootk8s-m1 ~]# ll -d /mnt/data/
drwxr-xr-x 3 root root 18 Aug 25 15:34 /mnt/data/
[rootk8s-m1 ~]# ll -d /mnt/data/sftp/
drwxr-xr-x 2 sftp sftp 6 Aug 25 15:34 /mnt/data/sftp/
[rootk8s-m1 ~]# 修改ssh的相关配置
#在配置文件最后添加如下配置注意要先注释掉下面Subsystem这一行
[rootk8s-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
#重启
[rootk8s-m1 ~]# systemctl restart sshd免密登录配置
上面新创建的用户现在还可以使用ssh登录。后面可以通过修改/etc/passwd来禁止ssh登录。
以下操作在另一台要免密登录sftp服务器的服务器上操作。
[rootk8s-m2 ~]# ssh-keygen -t rsa
[rootk8s-m2 ~]# ssh-copy-id sftp192.168.2.140
# 免密登录设置好后sftp和ssh都能正常登录
[rootk8s-m2 ~]# ssh sftp192.168.2.140
Last login: Fri Aug 25 15:30:51 2023 from 192.168.2.141[rootk8s-m2 ~]# sftp sftp192.168.2.140
Connected to 192.168.2.140.
sftp pwd
Remote working directory: /
sftp
#此次用pwd显示是/ 目录其实此/目录和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
[rootk8s-m1 ~]# vim /etc/passwd
sftp:x:1007:1008::/home/sftp:/bin/nologin客户端测试
[rootk8s-m2 ~]# ssh sftp192.168.2.140
This service allows sftp connections only.
Connection to 192.168.2.140 closed.
[rootk8s-m2 ~]# 更多关于Linux的知识请前往博客主页查看编写过程中可能由于能力有限难免出现问题敬请指出谢谢。