1. 程式人生 > >利用CentOS自帶SSH服務搭建SFTP伺服器

利用CentOS自帶SSH服務搭建SFTP伺服器

傳統的FTP資料不夠安全,所以伺服器上一般採用SFTP的方式對資料進行加密。如果伺服器上已經開通了SSH服務,我們就可以直接利用SSH來開通SFTP服務,無需再另外安裝軟體。

一,新建系統賬號

1.1 新建賬號分組

Groupadd sftp

1.2 新建賬號paul

useradd -s /sbin/nologin -g sftp -d /ZServer/demo   paul

passwd paul        //設定賬號的密碼

說明:

-s 賬號登陸的模式,/sbin/nologin表示此賬號只能FTP登陸,不能系統訪問

-g sftp: 賬號屬於sftp分組

-d :設定賬號的根目錄

【目錄許可權的要求】

    如果要想paul可以SFTP賬號登陸併成功訪問/ZServer/demo目錄,需要滿足以下苛刻的條件。否則無法登入,給出的錯誤提示也讓人摸不著頭腦,無從查起。我在這上面浪費了很多時間。

Ø  賬號的根目錄需要完全屬於賬號本身。

Ø  賬號根目錄的上一級目錄以及以上的全部目錄都必須屬於root賬號,並且有且僅有root擁有寫許可權,也就是說許可權最大設定為755。

1.3 設定賬號根目錄的許可權

#cd /ZServer/

#chown -R paul:sftp  demo/

#chown -R 755 demo/

二,SSH版本:

首先要升級OpenSSH的版本。只有4.8p1及以上版本才支援Chroot。

檢視SSH版本的指令是:

# ssh –v

# OpenSSH_5.3p1, OpenSSL1.0.1e-fips 11 Feb 2013

usage: ssh[-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

           [-D [bind_address:]port] [-eescape_char] [-F configfile]

           [-I pkcs11] [-i identity_file]

           [-L[bind_address:]port:host:hostport]

           [-l login_name] [-m mac_spec] [-Octl_cmd] [-o option] [-p port]

           [-R[bind_address:]port:host:hostport] [-S ctl_path]

           [-W host:port] [-wlocal_tun[:remote_tun]]

           [[email protected]]hostname [command]

三,修改SSH配置檔案

SSH版本滿足要求後,需要修改SSH的配置檔案。

SSH的最主要的配置檔案有兩個,分別為:

/etc/ssh/ssh_config

/etc/ssh/sshd_config

修改sshd_config如下:

#註釋原來的Subsystem設定

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

#啟用internal-sftp

Subsystem  sftp  internal-sftp

四,限制使用者SFTP訪問的根目錄

#限制paul使用者的根目錄

Match User www

    ChrootDirectory /ZServer

    ForceCommand    internal-sftp

【注意】

這裡配置的賬號paul被限制訪問的目錄,一定要是一個擁有者是root的目錄,否則paul將無法被限制且會導致登陸各種錯誤和異常。

#限制blog和pay使用者的根目錄

Match Group sftp

    ChrootDirectory %h

    ForceCommand    internal-sftp

五,最後重啟SSH服務:

# service sshd restart


相關推薦

利用CentOSSSH服務搭建SFTP伺服器

傳統的FTP資料不夠安全,所以伺服器上一般採用SFTP的方式對資料進行加密。如果伺服器上已經開通了SSH服務,我們就可以直接利用SSH來開通SFTP服務,無需再另外安裝軟體。 一,新建系統賬號 1.1 新建賬號分組 Groupadd sftp 1.2 新建賬號paul

java利用myeclipse三大框架搭建三大框架(Hibernate+Struts2+Spring)過程詳解

sun 過程 9.png att alt 分享圖片 struts apach sch 搭建過程因人而異,我的搭建過程大致是這樣的:   1.創建一個javaweb項目;   2.導入Spring框架,上圖:     2.1:     2.2:     2.3:   3.

win7 ftp功能搭建ftp伺服器及解決方案

網路上有很多教程,故此,我會把搭建過程中經常遇到的問題放到最後,以便觀摩。 一:.搭建ftp伺服器 二:問題及解決方案   一  1.開啟此處 2.開啟ftp伺服器,勾選Internet服務及ftp伺服器如下圖,確定儲存 3.開啟管理,

利用linux的郵箱服務實現郵件轉發

user rom 密碼 proc word 登陸 mail -s 分享 修改配置 修改配置文件修改/etc/mail.rc,增加以下幾行,指定外部的smtp服務器地址、帳號密碼等。 vi /etc/mail.rc set [email protected] set

C# 利用VS的WSDL工具生成WebService服務

web 路徑 引用 src cnblogs logs png program 菜單 WebService有兩種使用方式,一種是直接通過添加服務引用,另一種則是通過WSDL生成。 添加服務引用大家基本都用過,這裏就不講解了。 那麽,既然有直接引用的方式,為什麽還要通過WSDL

利用checkbox屬性indeterminate構建含部分選中狀態的樹狀結構

urn true 監聽 tps 多說 con ont 框架 tree 本來上個月就像發的,但是一直忙啊忙的也沒時間整理,所以拖到了現在。 好吧上面這句就是廢話,我就是感概下。下面是正文。 前段時間在弄一個輕量級的web項目,要構建一個樹狀結構目錄,同時希望能把部分選中的狀態

利用Unity的合圖切割功能將合圖切割成子圖

int 方便 無法 object idt http eal data- 像素 轉載的,牛人無處不在,我還太渺小 雖然目前網上具有切割合圖功能的工具不少,但大部分都是自動切割或者根據plist之類的合圖文件切割的, 這種切割往往不可自己微調或者很難維調,導致效果不理想。

忘記Ghost!利用Win10功能,玩轉系統備份&恢復 -- 關於恢復的深度思考

如果 mage 不能啟動 技術 硬盤 blog 引導 系統版本 bsp 上一篇文章講了,系統可以正常啟動,如何從D盤恢復系統到C盤的情況。 如果系統不能啟動,要怎麽去恢復系統,恢復後會是什麽結果? 先說明系統結構: 系統版本:Windows 10 (1709) 硬盤1(

C#利用Windowsgdi32.dll實現抓取屏幕功能實例

like lba work 函數 dll img 模板 seh release 本文實例講述了C#利用Windows自帶gdi32.dll實現抓取屏幕功能,是C#應用程序設計中一個非常實用的功能,現分享給大家供大家參考借鑒。 具體功能代碼如下:internal stati

SSH服務附帶----SFTP

loading cto password -- home get blog -s 命令 sftp -oPort=22 [email protected] Connecting to 192.168.70.126... [email protected]

利用JDK的keytool生成SSL證書然後導入到SpringBoot

生成 密鑰 clas alias 自帶 就會 輸入 http -type 一:生成命令如下(這一步生成的暫不知道幹嘛用的) E:\Desktop\Documents\證書>keytool -genkey -alias tomcat -keypass 123456

小小知識點(一)——利用電腦的BitLocker對磁盤加密

IT ID margin nbsp 磁盤加密 com 管理員 盤符 family 1.利用電腦自帶的BitLocker可以對固定的或移動的磁盤加密 網上有很多的使用方法步驟,可參考百度經驗:https://jingyan.baidu.com/article/636f38bb

centospython2.6無法使用pip命令

yum安裝軟件 info entos 圖片 yum 執行 軟件 pytho ins 1.首先檢查linux有沒有安裝python-pip包,直接執行 yum install python-pip,或者 which pip 我的已經安裝了 2.沒有可用軟件包 pytho

開啟windows 系統FTP服務

信息服務 iis管理 ipv4 添加 net 系統 點擊 擴展性 匿名 一、添加功能 1.點擊添加刪除——>點擊打開或關閉windows功能2.展開Internet信息服務——>勾選FTP服務器(以及下面的FTP服務和FTP擴展性)3.展開web管理工具——&g

CentOS minimal 安裝ssh 服務 和客戶端

eve lis 分享圖片 wrap 開機啟動 mage minimal start 重啟 檢查是否裝了SSH包 如果現實有openssh-server 說明系統已經安裝了ssh 2 如果系統沒有安裝ssh 那麽可以在線安裝 yum install

centospython2無法使用pip命令問題解決方法

centos7預設已經安裝了python2.7,但是沒有預裝pip命令,所以還需要自己裝pip命令,方便安裝python用到的各種包。 一、首先檢查有沒有安裝python-pip,可直接執行命令 yum install python-pip     &nb

利用Java的MD5加密

package test.md5; import java.security.MessageDigest; public class MD5Util { public final static String MD5(String s) { char hexDigits[]

利用java工具jconsole監控虛擬機器

  首先編輯tomcat/bin/catalina.sh 加入以下配置 (在 cygwin=false 上面加入) CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote  -Djava.rmi.server.

利用opencv的example進行雙目標定

利用opencv自帶的example進行雙目標定 #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #incl

利用電腦Xbox實現錄製螢幕

步驟如下: 1 電腦左下角左鍵單擊找到設定如圖所示   2 找到遊戲左鍵單擊並開啟遊戲欄開關和勾選如圖所示     3 記住圖片上的快捷鍵:win+G 是開啟遊戲欄(其他的快捷方式能記住也最好)   4 開啟一款