參考:
個人使用的是阿里雲的centos預設開啟了ssh
一開始以為:建立乙個使用者組,再新增幾個帳號,設定下許可權就好了
然而,to young to ******
步驟:1.建立乙個名為 sftp 的組
groupadd sftp
2.建立使用者 sftp_admin
寫法1:
useradd -g sftp -s /sbin/nologin -m sftp_admin
-g 加入到sftp組
-s 禁止登入
-m 不要自動建立使用者的登入目錄
寫法2:
useradd -g sftp -s /bin/false -m sftp_admin
-g 加入到sftp組
-s 禁止登入(寫法不同,有啥差別,暫時不清楚)
-m 不要自動建立使用者的登入目錄
3.設定密碼
passwd sftp_admin
重複輸入兩次密碼
4.建立sftp存放檔案的目錄
mkdir /home/sftp/admin
5.修改資料夾 擁有者
chown -r sftp_admin:sftp /home/sftp/admin/
-r 如果/home/sftp/admin/路徑下還有子檔案,則全部修改掉
6.設定,使用者登入後的 預設根目錄
usermod -d /tmp test (test為你的使用者名稱) 這種改法是無效的
只能通過 修改配置檔案
vi /etc/ssh/sshd_config
注釋掉這一行:subsystem sftp /usr/libexec/openssh/sftp-server
subsystem sftp internal-sftp
x11forwarding no
allowtcpforwarding no
forcecommand internal-sftp #限制root的ssh登入
match user sftp_admin #限制的使用者
chrootdirectory /home/sftp #使用者的根目錄
目錄許可權設定上要遵循2點:(需要格外注意)
chrootdirectory設定的目錄許可權及其所有的上級資料夾許可權,屬主和屬組必須是root;
chrootdirectory設定的目錄許可權及其所有的上級資料夾許可權,只有屬主能擁有寫許可權,也就是說許可權最大設定只能是755。
講真,這一塊坑了蠻久的
7.重啟配置
service sshd restart
(每次修改配置檔案後,如果是使用的filezilla客戶端來連線sftp,那filezilla客戶端也需要重啟)
***************===使用過程中,遇到的一些報錯********************==
修改了組寫入許可權報錯
bad ownership or modes for chroot directory "/home/sftp"
參考:使用ssh2訪問出現提示this service allows sftp connections only.
這是因為在server端設定的/etc/sshd_config檔案中,需要設定為: allowtcpforwarding 應該設定為yes才可。 如果沒有設定為yes的話,使用者就只能通過sftp訪問指定目錄,而且不能進行ssh登入. 只有把 allowtcpforwarding no 改為 allowtcpforwarding yes ,使用者才能通過ssh登入然後訪問目錄
filezilla連線報錯:
錯誤: server unexpectedly closed network connection
錯誤: 無法連線到伺服器
這個是,因為配置檔案 /etc/sshd_config中
當前登入的帳號
chrootdirectory 對應的資料夾 不是root使用者 和root使用者組
但是有遇到了個大問題,root賬戶,不能進行ssh登入了
測試了下,只要把配置檔案裡面的這一行注釋掉,重啟 ssh服務後 就好了
forcecommand internal-sftp
遇到乙個問題:建立的組,成員之間不能互相修改檔案,每次都要手動改許可權,太麻煩了,
使用者建立資料夾的預設許可權:通過umask值來設定
umask介紹:
sftp chroot後如何設定umask:
修改配置檔案 /etc/pam.d/sshd
新增 session optional pam_umask.so umask=0002
重啟sshd服務
**
Linux 搭建SFTP伺服器
系統centos 工具,自帶的internal sftp 1.首先檢視openssh版本 ssh v版本必須大於4.8p1,低於的這個版本需要公升級。2.建立sftp組 groupadd bmssftp3.建立sftp使用者 useradd g bmssftp s bin false bmssftp...
linux搭建sftp伺服器
目錄 一 sftp伺服器介紹 二 安裝步驟 sftp相對於ftp在資料傳輸的過程中對資料進行了加密,當然這也是有代價的,就是損耗了資料傳輸的一些效率,以此來保證資料的安全性。使用ftp需要進行安裝,但是使用sftp就無需進行安裝,sftp基於預設的22埠,是ssh內含的協議,只要啟動了sshd就可以...
Linux 搭建 SFTP伺服器
更新linux裡的模組 yum update 中間可能需要按y 或者加乙個 y的引數 建立使用者組,組名sftp groupadd sftp 建立兩個使用者,乙個是sftp的管理員使用者,乙個是普通使用者 這種寫法建立的使用者是不能登入的,強行登入會提示不允許,但是可以使用服務,例如列印服務等 us...