Centos6搭建sftp服务器

一、创建sftp相关用户和目录

[[email protected] samba]# useradd -s /sbin/nologin -M sftp_user #创建一个系统用户,按需设置登录的shell和家目录
[[email protected] samba]# passwd sftp_user  #设置密码,也是sftp登录的密码,公网上尽可能复杂点

[[email protected] samba]# mkdir /var/sftp/sftp_user -pv  #创建sftp的根目录
[[email protected] samba]# chown root:root -R  /var/sftp/sftp_user  #将属组和属主都设置为root,必须,这里最容易出错
[[email protected] sftp_user]# cd /var/sftp/sftp_user/
[[email protected] sftp_user]# mkdir public  #创建共享目录
[[email protected] sftp_user]# chown sftp_user:sftp_user -R /var/sftp/sftp_user/public/  #将共享目录的属组属主设为我们的sftp用户

二、编辑sshd配置文件,内容如下

#   $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2 #支持的SSH协议的版本号

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV   #将日志消息通过哪个日志子系统(facility)发送
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don‘t trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don‘t read the user‘s ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes  #允许通过密码进行登录

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no  #是否允许质疑-应答(challenge-response)认证。默认值是"yes"。

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes

# GSSAPI options
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes  #是否在用户退出登录后自动销毁用户凭证缓存。默认值是"yes"。仅用于SSH-2。
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to ‘yes‘ to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to ‘no‘.
#UsePAM no
UsePAM yes  #是否启用pam认证

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES  #指定客户端发送的哪些环境变量将会被传递到会话环境中。[注意]只有SSH-2协议支持环境变量的传递,可以设置多个
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes  #是否允许进行 X11 转发。默认值是"no",设为"yes"表示允许
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none

# no default banner path
#Banner none

# override default of no subsystems
#Subsystem  sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp    #配置一个外部子系统,仅用于SSH-2协议。值是一个子系统的名字和对应的命令行(含选项和参数)。比如"sftp /usr/libexec/openssh/sftp-server"。,###这里配置为内部的
# Example of overriding settings on a per-user basis
#Match User anoncvs
#   X11Forwarding no
#   AllowTcpForwarding no
#   ForceCommand cvs server
GSSAPIAuthentication no #是否允许使用基于 GSSAPI 的用户认证。默认值为"no"。仅用于SSH-2。
UseDNS no   #是否对远程主机名进行反向解析
AllowTcpForwarding yes   #是否允许TCP转发
Compression yes #是否对通信数据进行加密,还是延迟到认证成功之后再对通信数据加密
MaxAuthTries 6  #指定每个连接最大允许的认证次数。默认值是 6
PermitRootLogin yes  #是否允许 root 登录
PrintMotd yes  #是否在每一次交互式登录时打印 /etc/motd 文件的内容
PubkeyAuthentication yes  #是否允许公钥认证。仅可以用于SSH-2。默认值为"yes"。
RSAAuthentication no  #是否允许使用纯 RSA 公钥认证。仅用于SSH-1。默认值是"yes"

Match User sftp_user  #限定只有admin用户才能访问,也可以设置为组,例如:Match Group sftp 
ChrootDirectory   /var/sftp/sftp_user/  #限定用户的根目录
X11Forwarding no
AllowTcpForwarding yes
ForceCommand internal-sftp  #强制执行这里指定的命令而忽略客户端提供的任何命令
                        

 重启sshd服务

[[email protected] sftp_user]# /etc/init.d/sshd restart
停止 sshd:                                                [确定]
正在启动 sshd:                                          [确定]

测试登录,这里使用winscp这款软件

输入我们之前设置的密码

登录成功

原文地址:https://www.cnblogs.com/panwenbin-logs/p/9407673.html

时间: 2024-11-05 15:58:55

Centos6搭建sftp服务器的相关文章

Linux Centos 6.6搭建SFTP服务器

在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 1 ssh -V 使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 1 groupadd sftp 2.创建一个sftp用户,用户名为mysftp,密码为mysftp 修改用户密码和修改Linux用户密码是一样的. useradd -g sftp -s /bin/false

零基础Centos6搭建Git服务器,及常见问题解决

1.编译安装git 1$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.tar.gz #目前最新版本 2$ tar -xzvf git-1.7.3,tar.gz #解压出来 3$ cd git-1.7.3 #进入目录 4$ yum install  -y gettext-devel expat-devel curl-devel zlib-devel openssl-devel #-y是默认自动安装,安装编译时用到的东东 5$ ./co

linux搭建sftp服务器

转自:http://blog.csdn.net/superswordsman/article/details/49331539 最近工作需要用到sftp服务器,被网上各种方法尤其是权限设置问题搞得晕头转向,现在将自己搭建过程总结了一下,整理出来一种最简单的方法可供大家参考. 第1歩,添加sftp用户并制定根目录:useradd -d  /home/sftp  -s /sbin/nologin sftpuser 第2歩,修改密码:执行passwd sftpuser,然后输入密码2次即可 第3歩,修

CentOS6搭建OpenVPN服务器实践

OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件.使用OpenVPN可以方便地在家庭.办公场所.住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道. 使用OpenVPN配合特定的代理服务器,可用于访问Youtube.FaceBook.Twitter等受限网站,也可用于突破公司的网络限制. 一.服务器端安装及配置 服务器环境:干净的CentOS6.3 64位系统 内网IP:10.143.80.116 外网IP:203.195

centos 搭建 sftp 服务器

打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 ssh -V 使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 groupadd sftp 2.创建一个sftp用户,用户名为mysftp,密码为mysftp 修改用户密码和修改Linux用户密码是一样的. useradd -g sftp -s /bin/false mysftp  //用户名 passwd mysftp  //密码 useradd -g sft

windows 上搭建 sftp 服务器 --freesshd

linux 下 sftp 默认都会安装的, Windows 就没有了.网上搜的资料发现比较好用的是 freesshd,免费版中最好用的. 1,下载:http://www.freesshd.com/?ctt=download , 只下载  freeSSHd.exe 就可以了 2,安装:一路默认就可以了 3,设置:(网上资料不全,遇到的问题搜了好久也没个详细的信息,所以写篇博客记录) 特别说明一下,这里设置为密码登陆方式,而不用密匙方式,因为最近工作中在做 sftp 密码非交互式登陆 a, User

centos6搭建nfs服务器

1. 安装nfs-utils和rpcbind yum install nfs-utils rpcbind 2.设置开机启动服务 chkconfig nfs on chkconfig rpcbind on 3.第一次启动服务 servicerpcbind start servicenfs start 2.创建共享目录 mkdir -p /usr/src/nfs 3.添加nfs配置 echo "/usr/src/nfs *(rw,sync,no_root_squash)" >/etc

Sftp服务器搭建和限制用户目录

Sftp服务器搭建和限制用户目录 概述:公司对外客户上传账户清单,以前每个月都是用FTP上传,出于安全考虑改用sftp上传但又要限制用户根目录,为此在网上查了很多资料,在此记录下自己心得. 目录: 什么sftp服务器 怎么搭建sftp服务器 怎么限制用户目录 常见错误 什么sftp服务器 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH的一部份,

搭建sftp服务+nginx代理

在公司,经常会用到sftp服务,比如两个公司对接生产项目,其中一方,要在sftp上上传pdf文件,另一方公司要在sftp服务器上用nginx代理直接下载pdf文件.下面就说说我在实际中应用到的sftp服务+nginx代理的配置方法: 一.环境: 192.168.16.12     centos6.5 在Centos 6.5环境使用系统自带的internal-sftp搭建SFTP服务器. 二.查看版本 查看openssh的版本,使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p