1、基礎知識
1.1、概念
sftp是Secure File Transfer Protocol的縮寫,安全檔案傳送協定。
1.2、功能
可以為傳輸檔案提供一種安全的加密方法。
1.3、特點
1)sftp 與 ftp 有着幾乎一樣的文法和功能。
2)SFTP 為 SSH的一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。
3)SFTP本身沒有單獨的守護程序,它必須使用sshd守護程序(端口号預設是22)來完成相應的連接配接操作
4)SFTP安全性非常高
5)SSH軟體已經包含SFTP安全檔案傳輸子系統
1.4、缺點
傳輸方式使用了加密/解密技術,是以傳輸效率比普通的FTP要低得多
1.5、用戶端工具
1.5.1、windows用戶端
Core FTP,FileZilla, WinSCP,Xftp
1.5.2、linux用戶端
1
<code>sftp</code> <code>username@remote ip(or remote host name)</code>
2、服務端配置
2.1、環境概述
ipaddress=10.168.0.169
OS=centos 6.5
2.2、環境檢查
2.2.1、檢視openssh的版本
<code>ssh</code> <code>-V</code>
注:要求大于4.8p1版本
2.2.2、關閉selinux
<code>getenforce</code>
如果顯示如下:
<code>Enforcing</code>
則執行:
2
<code>setenforce 0</code>
<code>sed</code> <code>-i </code><code>'s/SELINUX=enforcing/SELINUX=disabled/g'</code> <code>/etc/selinux/config</code>
2.3、配置步驟
2.3.1、建立sftp的存放目錄
<code>mkdir</code> <code>-p </code><code>/data/sftp</code>
2.3.2、建立sftp組
<code>groupadd </code><code>sftp</code>
2.3.3、配置sshd傳輸子系統
vim編輯/etc/ssh/sshd_config
注釋掉如下行:
<code># Subsystem sftp /usr/libexec/openssh/sftp-server</code>
最後行添加如下參數
3
4
5
6
<code>Subsystem </code><code>sftp</code> <code>internal-</code><code>sftp</code>
<code>Match Group </code><code>sftp</code>
<code> </code><code>X11Forwarding no</code>
<code> </code><code>AllowTcpForwarding no</code>
<code> </code><code>ForceCommand internal-</code><code>sftp</code>
<code> </code><code>ChrootDirectory </code><code>/data/sftp/</code><code>%u</code>
2.3.4、重新開機服務
<code>/etc/init</code><code>.d</code><code>/sshd</code> <code>restart</code>
2.3.5、建立sftp使用者和相關目錄
<code>mkdir</code> <code>/data/sftp/user1/</code>
<code>useradd</code> <code>user1 -g </code><code>sftp</code> <code>-s </code><code>/bin/false</code> <code>-d </code><code>/data/sftp/user1/upload</code>
注:/data/sftp/user1屬主必須是root,否則無法登陸。
使用者根檔案夾權限檢視:
<code>ll -d </code><code>/data/sftp/user1/</code>
顯示如下:
<code>drwxr-xr-x. 3 root root 4096 May 10 09:21 </code><code>/data/sftp/user1</code>
upload檔案夾權限檢視:
<code>ll -d </code><code>/data/sftp/user1/upload/</code>
<code>drwx------. 2 user1 </code><code>sftp</code> <code>4096 May 10 09:21 </code><code>/data/sftp/user1/upload/</code>
2.3.6、配置sftp使用者的密碼
<code>passwd</code> <code>user1</code>
2.3.7、配置腳本方式
1)建立腳本目錄
<code>mkdir</code> <code>~</code><code>/script</code>
2)vim編輯~/script/addsftpu.sh并輸入如下内容
<code>#!/bin/bash</code>
<code>user=$1</code>
<code>passwd</code><code>=$2</code>
<code>mkdir</code> <code>-p </code><code>/data/sftp/</code><code>$user/</code>
<code>useradd</code> <code>$user -g </code><code>sftp</code> <code>-s </code><code>/bin/false</code> <code>-d </code><code>/data/sftp/</code><code>$user</code><code>/upload</code>
<code>echo</code> <code>"$passwd"</code> <code>| </code><code>passwd</code> <code>--stdin $user</code>
3)授權
<code>chmod</code> <code>700 ~</code><code>/script/addsftpu</code><code>.sh</code>
4)新增使用者
<code>cd</code> <code>~</code><code>/script</code>
<code>.</code><code>/addsftpu</code><code>.sh user1 </code><code>'pwd123'</code>
3、用戶端配置
3.1、建立連接配接
<a href="http://s2.51cto.com/wyfs02/M02/7F/E6/wKioL1cxcVrR8WbdAABIrlyZZyY272.png" target="_blank"></a>
3.2、選擇連接配接并登陸
<a href="http://s3.51cto.com/wyfs02/M02/7F/E8/wKiom1cxcHzwx_MYAABLOZr1uJU160.png" target="_blank"></a>
3.3、輸入密碼登陸
<a href="http://s2.51cto.com/wyfs02/M00/7F/E8/wKiom1cxcH3wl43PAAA2szpiRP0568.png" target="_blank"></a>
3.4、生成加密秘鑰
<a href="http://s2.51cto.com/wyfs02/M00/7F/E6/wKioL1cxcVuBlewtAABGWq57jII985.png" target="_blank"></a>
3.5、登陸成功
<a href="http://s1.51cto.com/wyfs02/M02/7F/E8/wKiom1cxcHySFqmfAAD1SeHErZE280.png" target="_blank"></a>
本文轉自 tanzhenchao 51CTO部落格,原文連結:http://blog.51cto.com/cmdschool/1771670,如需轉載請自行聯系原作者