- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
由于vsftp采用明文傳輸,用戶(hù)名密碼可通過(guò)抓包得到,為了安全性,需使用sftp,鎖定目錄且不允許sftp用戶(hù)登到服務(wù)器。由于sftp使用的是ssh協(xié)議,需保證用戶(hù)只能使用sftp,不能ssh到機器進(jìn)行操作,且使用密鑰登陸、不是22端口。
. 在遠程目標創(chuàng )建sftp服務(wù)用戶(hù)組,創(chuàng )建sftp服務(wù)根目錄
groupadd sftp
#此目錄及上級目錄的所有者必須為root,權限不高于755,此目錄的組最好設定為sftp
mkdir /data/sftp
chown -R root:sftp /data/sftp
chmod -R 0755 /data/sftp
2. 修改sshd配置文件
cp /etc/ssh/sshd_config,_bk} #備份配置文件
sed -i 's@#Port 22@Port 22@' /etc/ssh/sshd_config #保證原來(lái)22端口可以
vi /etc/ssh/sshd_config
注釋掉/etc/ssh/sshd_config文件中的此行代碼:
Subsystem sftp /usr/libexec/openssh/sftp-server
添加如下代碼:
Port 22222 #此處改為非22端口
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftp
ChrootDirectory /data/sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l INFO -f AUTH
凡是在用戶(hù)組sftp里的用戶(hù),都可以使用sftp服務(wù);使用sftp服務(wù)連接上之后,可訪(fǎng)問(wèn)目錄為/data/sftp/username
舉個(gè)例子:
test是一個(gè)sftp組的用戶(hù),它通過(guò)sftp連接服務(wù)器上之后,只能看到/data/sftp/test目錄下的內容
test2也是一個(gè)sftp組的用戶(hù),它通過(guò)sftp連接服務(wù)器之后,只能看到/data/sftp/test2目錄下的內容
3. 創(chuàng )建sftp用戶(hù)
#此例將創(chuàng )建一個(gè)名稱(chēng)為test的sftp帳號
#創(chuàng )建test sftp家目錄:test目錄的所有者必須是root,組最好設定為sftp,權限不高于755
mkdir /data/sftp/test
chmod 0755 /data/sftp/test
chown root:sftp /data/sftp/test
useradd -g sftp -s /sbin/nologin test #添加用戶(hù),參數-s /sbin/nologin禁止用戶(hù)通過(guò)命令行登錄
在本地創(chuàng )建test用戶(hù)密鑰對(用來(lái)連接遠程服務(wù)器的):
# mkdir /home/test/.ssh
# ssh-keygen -t rsa
# ssh-copy-id test@IP ##要遠程的目標服務(wù)器IP和賬戶(hù)
# chown -R test.sftp /home/test
另外我們要注意,.ssh目錄的權限為700,其下文件authorized_keys和私鑰的權限為600。否則會(huì )因為權限問(wèn)題導致無(wú)法免密碼登錄。我們可以看到登陸后會(huì )有known_hosts文件生成。
在目標遠程服務(wù)器test目錄下創(chuàng )建一個(gè)可以寫(xiě)的upload目錄
mkdir /data/sftp/test/upload
chown -R test:sftp /data/sftp/test/upload
注:sftp服務(wù)的根目錄的所有者必須是root,權限不能超過(guò)755(上級目錄也必須遵循此規則),sftp的用戶(hù)目錄所有者也必須是root,且最高權限不能超過(guò)755。
4. 測試sftp
systemctl restart sshd.service
test用戶(hù)密鑰登陸:
sftp test@IP ##在本地sftp登陸遠程服務(wù)器
另外,將公鑰拷貝到服務(wù)器的~/.ssh/authorized_keys文件中方法有如下幾種:
1、將公鑰通過(guò)scp拷貝到服務(wù)器上,然后追加到~/.ssh/authorized_keys文件中,這種方式比較麻煩。scp -P 22 ~/.ssh/id_rsa.pub user@host:~/。
2、通過(guò)ssh-copy-id程序,就是我演示的方法,ssh-copyid user@host即可
3、可以通過(guò)cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host ‘cat >> ~/.ssh/authorized_keys’,這個(gè)也是比較常用的方法,因為可以更改端口號。
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP