近期要給服務器設置一個SFTP用戶,能夠上傳刪除修改的SFTP,可是禁止該用戶SSH登陸。這裏記錄下來vim
先升級
yum update
2
1
yum update
fox.風服務器
建立用戶組 sftp
用戶組名爲sftp
app
groupadd sftp
x
1
groupadd sftp
建立用戶 test
例如這個用戶名爲 test
ssh
useradd -G sftp -s /sbin/nologin test
2
1
useradd -G sftp -s /sbin/nologin test
-s 禁止用戶ssh登錄
-G 加入sftp 用戶組ide
建立密碼
passwd test
2
1
passwd test
修改配置文件sshd_config
vim /etc/ssh/sshd_config
2
1
vim /etc/ssh/sshd_config
修改成以下url
.... ##下面這行註釋掉 #Subsystem sftp /usr/libexec/openssh/sftp-server ##後面加入 Subsystem sftp internal-sftp #注意,如下要 放在 本文件的最後行,不然 root用戶沒法登錄 Match Group sftp X11Forwarding no AllowTcpForwarding no ChrootDirectory %h ForceCommand internal-sftp
x
1
....
2
##下面這行註釋掉
3
#Subsystem sftp /usr/libexec/openssh/sftp-server
4
##後面加入
5
Subsystem sftp internal-sftp
6
#注意,如下要 放在 本文件的最後行,不然 root用戶沒法登錄
7
Match Group sftp
8
X11Forwarding no
9
AllowTcpForwarding no
10
ChrootDirectory %h
11
ForceCommand internal-sftp
說明
Match Group sftp 匹配sftp用戶組中的用戶
ChrootDirectory %h 只能訪問默認的用戶目錄(本身的目錄),例如 /home/testspa設置目錄權限
chown root:sftp /home/test chgrp -R sftp /home/test chmod -R 755 /home/test #設置用戶能夠上傳的目錄,改目錄下容許用戶上傳刪除修改文件及文件夾 mkdir /home/test/upload chown -R test:sftp /home/test/upload chmod -R 755 /home/test/upload
x
9
1
chown root:sftp /home/test
2
chgrp -R sftp /home/test
3
chmod -R 755 /home/test
4
#設置用戶能夠上傳的目錄,改目錄下容許用戶上傳刪除修改文件及文件夾
5
mkdir /home/test/upload
6
chown -R test:sftp /home/test/upload
7
chmod -R 755 /home/test/upload
重啓ssh
systemctl restart sshd.service
2
1
systemctl restart sshd.service
連接
新建一個 終端連接,或者在 FTP 客戶端中使用SFTP 模式連接(輸入相關的IP用戶名及端口).net
sftp test@192.1.1.1
2
1
sftp test@192.1.1.1
F&Q
若是報相似如下錯誤rest
sftp Connection to closed by remote host. 或者 Write failed: Broken pipe Couldn't read packet: Connection reset by peer
1
sftp Connection to closed by remote host.
2
或者
3
Write failed: Broken pipe
4
Couldn't read packet: Connection reset by peer