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歩,修改配置文件,執行vi /etc/ssh/sshd_config ,在里面添加如下信息:

               Subsystem       sftp    internal-sftp

               Match User sftpuser
               #X11Forwarding no
              #AllowTcpForwarding no
              #ForceCommand internal-sftp

第4歩,設置根目錄的訪問權限:chmod 777 /home/sftp(可選)

第5歩,重啟sshd進程,使配置生效:service sshd restart

至此,sftp服務器就搭建好了,使用命令sftp sftpuser@10.1.1.100登陸一下,登陸成功說明搭建成功。

注:如果在配置文件里面增加了ChrootDirectory /home/sftp ,那么根目錄的擁有者和屬組必須是root,此時目錄權限應這樣設置:

chown root:root /home/sftp

chmod 755 /home/sftp

此時只有用戶root對/home/sftp目錄有寫入權限,而使用sftpuser這個用戶登陸后是沒有寫入權限的,故需要在/home/sftp/目錄下再新建一個文件夾,並賦予sftpuser讀寫權限,這樣才能完成sftp操作。

由此可見,在配置文件中增加了ChrootDirectory后,需要特別注意權限問題。

常見問題:

1、sftp登錄時報錯:

Connecting to 10.66.2.111...
/etc/ssh/ssh_config: line 60: Bad configuration option: UseDNS
/etc/ssh/ssh_config: terminating, 1 bad configuration options
Couldn't read packet: Connection reset by peer

該問題是由dns解析導致,在客戶端的配置文件/etc/ssh/ssh_config中查看是否有UseDNS no,如果有,注釋掉該行。

2、sftp連接時特別慢,而且警告:reverse mapping checking getaddrinfo for bogon [10.91.0.227] failed - POSSIBLE BREAK-IN ATTEMPT!

可能原因:在sftp服務器上找到配置文件/etc/ssh/sshd_config,將GSSAPIAuthentication yes 改為GSSAPIAuthentication no。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM