一分钟在Linux 环境 搭建 SFTP服务器
文章目錄
- 一、實戰
- 1. 創建sftp組:
- 2. 創建一個用戶sftpuser:
- 3. 設置sftpuser用戶的密碼,會要求你輸入兩次密碼確認:
- 4. 創建一個sftp的上傳目錄:
- 5. 修改用戶sftpuser所在的目錄:
- 6. 配置sshd_config:
- 7. 設定Chroot目錄權限:
- 8. 建立SFTP用戶登入后可寫入的目錄
- 9. 重啟sshd服務:
- 10. 測試是否能正常登陸:
- 11. 關閉SElinux:
- 二、常見問題
- 2.1. 這里討論了為什么要關閉這功能
- 2.2. 連接異常
(附解決Write failed: Broken pipe Couldn’t read packet: Connection reset by peer)…
一、實戰
1. 創建sftp組:
groupadd sftp2. 創建一個用戶sftpuser:
useradd -g sftp -s /bin/false sftpuser#參數說明:
/etc/group 文件包含所有組
/etc/shadow /etc/passwd 系統存在的所有用戶名
3. 設置sftpuser用戶的密碼,會要求你輸入兩次密碼確認:
passwd sftpuser4. 創建一個sftp的上傳目錄:
mkdir /app/data5. 修改用戶sftpuser所在的目錄:
usermod -d /app/data sftpuser6. 配置sshd_config:
vim /etc/ssh/sshd_config如果沒有vim,請執行
vi /etc/ssh/sshd_config#找到如下這行,并注釋掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
#添加如下幾行(如果添加之后出現問題,則添加到最后)
為什么用 internal-sftp 而不用默認的 sftp-server,這是因為:
這是一個進程內的 sftp 服務,當用戶 ChrootDirectory 的時候,將不請求任何文件;更好的性能,不用為 sftp 再開一個進程。
#保存退出
7. 設定Chroot目錄權限:
chown -R root:root /app/data chmod 755 /app/data8. 建立SFTP用戶登入后可寫入的目錄
mkdir /app/data/sftpuser chown -R sftpuser:sftp /app/data/sftpuser/ chmod 755 /app/data/sftpuser/9. 重啟sshd服務:
service sshd restart10. 測試是否能正常登陸:
#執行這一行命令,輸入密碼即可 sftp sftpuser@localhost11. 關閉SElinux:
vim /etc/sysconfig/selinux#找到如下這行
SELINUX=enforcing
#修改為
SELINUX=disabled
#保存退出
二、常見問題
2.1. 這里討論了為什么要關閉這功能
https://www.zhihu.com/question/20559538
2.2. 連接異常
[root@localhost home]# sftp sftpuser@localhost Connecting to localhost... sftpuser@localhost's password: Write failed: Broken pipe Couldn't read packet: Connection reset by peer這個問題,是由于用戶組決定的,解決很簡單
我的sftp前綴目錄是/app/data
首先,咱們找到/app目錄,查看他的權限,也就是用戶組和用戶
從上圖,可以看出用戶和戶組都是root權限對吧,不要問為都是root,一句話,不是root,不好使。
然后,找到/app下面的data目錄
從上圖,可以看出用戶和戶組都是root權限對吧,不要問為都是root,一句話,不是root,不好使。
上面是sftpuser的限制活動的目錄。
下面進入到,sftpuser登錄后的目錄看看權限是什么樣的呢?
從上圖,可以看出用用戶是sftpuser、用戶組是sftp權限對吧,不要問為這樣設置,一句話,不這樣設置,不好使。
完美解決!
這樣問題不好發現,
補充:
我當初是怎樣發現這個問題的呢? 搭建sftp服務器 只要不在/app目錄下面創建都好使,但是在/app目錄下面創建就是不好使,然后我就比對目錄權限之間的區別,發現/app的用戶是oracle 用戶組是oinstall,怎樣測試和配置都不好使。希望能夠幫助到小伙伴們!總結
以上是生活随笔為你收集整理的一分钟在Linux 环境 搭建 SFTP服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PMP答题技巧(详细版)
- 下一篇: Jmeter 监控多台服务器CPU、内存