专栏首页JiekeXu之路Linux CentOS6.8搭建sftp服务

Linux CentOS6.8搭建sftp服务

最近因公司工作需要用到sftp服务器,参考网上各种方法,但被网上各种方法尤其是权限设置问题搞得晕头转向,现在将自己搭建过程总结了一下,提供给大家希望有所帮助。

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

开始搭建sftp服务

第1歩,添加sftp用户并制定根目录:

useradd -d /ygsoft/sftp -s /bin/bash sftpuser

第2歩,修改密码:执行passwd sftpuser,然后输入密码,2次密码需一致即可

第3歩,修改配置文件,执行vi /etc/ssh/sshd_config ,在里面添加如下信息:先注释掉以下一行

#Subsystem sftp /usr/libexec/openssh/sftp-server 然后添加以下5行 Subsystem sftp internal-sftp Match User sftpuser #X11Forwarding no #AllowTcpForwarding no #ForceCommand internal-sftp

第4歩,设置根目录的访问权限:

chmod -R 775 /ygsoft/sftp(可选)

第5歩 可以省略,更改默认的22端口,找到配置文件

/etc/ssh/ssh_config和sshd_config,

vi ssh_config和sshd_config 修改Port为10022 注释掉22端口

第6歩,重启sshd进程,使配置生效:

service sshd restart

至此,sftp服务器就搭建好了,使用命令:sftp sftpuser@192.168.8.8登陆一下,登陆成功说明搭建成功。也可使用winsp客户端(filezilla)登陆即上传下载文件。

注:如果在配置文件里面增加了ChrootDirectory /ygsoft/sftp ,那么根目录的拥有者和属组必须是root,此时目录权限应这样设置: chown root:root/ygsoft/sftp chmod 755 /ygsoft/sftp 此时只有用户root对/ygsoft/sftp目录有写入权限,而使用sftpuser这个用户登陆后是没有写入权限的,故需要在/home/sftp/目录下再新建一个文件夹zjjk,并赋予sftpuser读写权限,这样才能完成sftp操作。 #mkdir -p /ygsoft/sftp/zjjk # chmod -R 775 /ygsoft/sftp/zjjk 由此可见,在配置文件中增加了ChrootDirectory后,需要特别注意权限问题。

常见问题:

1sftp登录时报错:

Connecting to192.168.8.8.. /etc/ssh/ssh_config:line 60: Bad configuration option: UseDNS /etc/ssh/ssh_config:terminating, 1 bad configuration options Couldn't readpacket: Connection reset by peer

该问题是由dns解析导致,在客户端的配置文件/etc/ssh/ssh_config中查看是否有UseDNS no,如果有,注释掉该行。

2sftp连接时特别慢

而且警告:reverse mapping checking getaddrinfo for bogon [192.168.8..8] failed- POSSIBLE BREAK-IN ATTEMPT!

可能原因:在sftp服务器上找到配置文件/etc/ssh/sshd_config,将GSSAPIAuthenticationyes 改为GSSAPIAuthentication no。

本文分享自微信公众号 - JiekeXu之路(JiekeXu_IT),作者:JiekeXu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Python操作将数据存储到本地文件

    前面说过Python爬取的数据可以存储到文件、关系型数据库、非关系型数据库。前面两篇文章没看的,可快速戳这里查看!《使用Python将数据存入SQLite3数据...

    JiekeXu之路
  • sqlplus 登陆 RAC 11.2.0.4 数据库缓慢问题完美解决方案

    近日发现一套数据库在节点一使用 sqlplus 登录时反应巨慢,但在节点 2 却很迅速登录进去,节点一无任何报错,只是反应巨慢,观察大约需要 81s 的时间才可...

    JiekeXu之路
  • Oracle 12C 最新补丁下载与安装操作指北

    上一篇安装文档中说过 Oracle 也有一份安装手册,虽是英文版但很是详细,很有参考意义,如下是官方地址可查看详细内容:https://docs.oracle....

    JiekeXu之路
  • centos下配置sftp且限制用户访问目录

    功能可简述为:凡是在用户组sftp里的用户,都可以使用sftp服务 使用sftp服务连接上之后,可访问目录为/srv/sftp/username ...

    luxixing
  • centos7搭建sftpsftp先决条件设置sftp用户配置 sshd_config 测试连接

    章鱼喵
  • 玩转 WebView ,突破系统限制,让缓存更简单,更灵活

    今天给大家推荐一个不错的开源库,非常的不错,可以突破系统限制,让缓存更简单,更灵活。它就是:CacheWebView。 CacheWebView Cach...

    非著名程序员
  • [PHP] vscode配置SFTP扩展同步文件

    在我们的项目开发过程中,经常有一种模式,有一台linux的开发机作为我们的测试机器,上面安装了ftp服务。我们在windows系统的本地机器使用IDE编写代码,...

    陶士涵
  • 一个有用的PHP片段的集合

    琯琯
  • 获取编程新技能的5个技巧

    “你是怎么学会所有这些框架和语言的?”,最近在黑客马拉松上一个朋友问我。 “其实,很简单,只要用你想学的东西去创建一个合适又值得的项目就行了,”我回答说。 “真...

    Crossin先生
  • 程序员获取新编程技能的5个技巧学习

    程序员获取新编程技能的5个技巧学习 “你是怎么学会所有这些框架和语言的?”,最近在黑客马拉松上一个朋友问我。 “其实,很简单,只要用你想学的东西去创建一个合...

    用户1289394

扫码关注云+社区

领取腾讯云代金券