您的位置 首页 企业运维

Linux 开启SFTP服务 (被人误改权限后修复)

Linux 如何开启SFTP

打开终端,使用编辑器vi或nano等打开/etc/ssh/sshd_config文件,
找到# Subsystem sftp /usr/libexec/openssh/sftp-server这行,并在其下面添加Subsystem sftp internal-sftp。
保存并退出编辑器。
使用systemctl restart sshd.service命令重启SSH服务。

sftp 原理:

SFTP 是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。
SFTP 与 FTP有着几乎一样的语法和功能。

SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol的安全文件传输子系统,SFTP本身没

有单独的守护进程,它必须使用SSHD守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。

但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

所以 一般,我们开启 sshd 服务后, 无需过多的配置 sftp 的。

 

但是目前的这台服务器,被测试的同学给修改了权限。

这样涉及到了 很多服务, 最大的就是 ssh

修改后是这样的

修改前:

 

修改后重启 sshd 服务

systemctl restart sshd

尝试 sftp  ,没有成功。

检查  sshd_config 发现:

Subsystem	sftp	/usr/libexec/openssh/sftp-server

 

那么对应的 目录,我们去看看权限。

被人修改权限后:

被人修改权限前:

 

 

对比 少文件的原因是 openssh 的版本不一样

 

我改了 2个文件的权限: 没有重启服务, 可以正常使用 fstp了。

 

PS:但如果使用Java编写的程序连接,发现出现了错误,报的错误是Auth fail ,验证出错。

可能的原因:
/etc/ssh/sshd_config文件夹的一个配置项PasswordAuthentication 默认为no,“PasswordAuthentication”设置是否允许口令验证。把它改为yes,重启服务就OK了。

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章