SSH和SFTP端口服務(wù)分離

一、為什么要進(jìn)行分離

SFTP是安全文件傳輸協(xié)議本身沒有守護(hù)進(jìn)程,包含在SSH中,端口也默認(rèn)為22號端口。
實現(xiàn)SFTP與SSH服務(wù)分開,增強安全性和管理性,只允許指定用戶SFTP通過指定端口傳輸文件,而沒有SSH權(quán)限。

二、配置SFTP服務(wù)

1.相關(guān)配置文件分離
#復(fù)制ssh服務(wù)相關(guān)文件給sftp一份
[root@node1 ~]#  cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
[root@node1 ~]#  cp /etc/pam.d/sshd /etc/pam.d/sftpd
[root@node1 ~]#  cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
[root@node1 ~]#  cp /etc/sysconfig/sshd /etc/sysconfig/sftp
[root@node1 ~]#  cp /var/run/sshd.pid /var/run/sftpd.pid

#相關(guān)命令做軟連接給sftp使用
[root@node1 ~]#  ln -sf /usr/sbin/service /usr/sbin/rcsftpd
[root@node1 ~]#  ln -sf /usr/sbin/sshd /usr/sbin/sftpd
2.配置SFTP服務(wù)

2.1 修改service文件,加入systemd進(jìn)行管理

[root@node1 ~]# cat /etc/systemd/system/sftpd.service 
[Unit]
#修改描述
Description=sftpd server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
#修改環(huán)境變量文件
EnvironmentFile=/etc/sysconfig/sftp
#修改sftp服務(wù)啟動命令
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

2.2修改sftp配置文件

#在文件原有的基礎(chǔ)上修改
[root@node1 ~]# vim /etc/ssh/sftpd_config
#修改服務(wù)端口
Port 16022

#是否禁止root通過ssh登錄,不禁止
PermitRootLogin no

#是否開啟密碼認(rèn)證,開啟
PasswordAuthentication yes

#開啟PAM身份驗證模塊驗證
UsePAM yes

#關(guān)閉
X11Forwarding no
UseDNS no

#修改存儲sftp服務(wù)pid文件
PidFile /var/run/sftpd.pid

#使用sftp
Subsystem   sftp    internal-sftp

#指定用戶登錄
Match User sftpuser

#禁止tcp轉(zhuǎn)發(fā)
AllowTcpForwarding no

#只接受sftp連接
ForceCommand internal-sftp

2.3 清空/var/run/sftpd.pid文件內(nèi)容

[root@node1 ~]# >/var/run/sftpd.pid

2.4 創(chuàng)建sftp專用用戶

#創(chuàng)建用戶,禁止bash
[root@node1 ~]# useradd sftpuser -s /bin/false sftpuser

2.5 啟動sftp服務(wù)

[root@node1 ~]# systemctl start sftpd.service
[root@node1 ~]# systemctl enable sftpd.service
3.取消22端口的sftp功能

3.1 修改配置文件

#注釋掉這一行
[root@node1 ~]# vim /etc/ssh/sshd_config 
#Subsystem  sftp    /usr/libexec/openssh/sftp-server

3.2 重啟ssh服務(wù)

[root@node1 ~]# systemctl restart sshd
4.測試sftp服務(wù)
[root@work1 ~]# sftp -P 16022 sftpuser@10.0.0.102
sftpuser@10.0.0.102's password: 
Connected to 10.0.0.102.
sftp> put /root/file ./
Uploading /root/file to /home/sftpuser/./file
/root/file                                                 100%    0     0.0KB/s   00:00    
sftp> ls
file
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容