ssh與sftp分離,附一鍵分離指令碼

2021-10-10 14:41:14 字數 1731 閱讀 6211

應用場景:相比於ftp,sftp在安全性上要更高,如果需要與其他機器進行資料傳輸,建議採用sftp,ssh與sftp分離,可以實現單獨進行使用者控制:限制某些使用者只能使用sftp傳輸,無法ssh登陸,某些使用者只能ssh登陸,無法進行sftp傳輸。同時可以指定ssh與sftp使用不同的埠。

基本思路:複製ssh服務建立單獨的sftp服務

說明:下面所用命令測試基於redhat7或centos7版本

一、複製相關檔案

cp -p /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service

cp -p /etc/pam.d/sshd  /etc/pam.d/sftpd

cp -p /etc/ssh/sshd_config  /etc/ssh/sftpd_config

ln -sf  /usr/sbin/service  /usr/sbin/rcsftpd

ln -sf  /usr/sbin/sshd  /usr/sbin/sftpd

cp -p /etc/sysconfig/sshd  /etc/sysconfig/sftpd

二、    修改新服務的配置

1、修改/etc/systemd/system/sftpd.service

vim /etc/systemd/system/sftpd.service

#第2行

description=sftp server daemon

#第10行,第11行

environmentfile=/etc/sysconfig/sftpd

execstart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config

2、修改vim /etc/ssh/sftpd_config

vim /etc/ssh/sftpd_config

#第17行

port 9999    #根據實際情況修改

#第125行

pidfile /var/run/sftpd.pid

#第141行,注釋掉這行

#subsystem      sftp    /usr/libexec/openssh/sftp-server

#最後新增下面這幾行

subsystem sftp internal-sftp

match user sftpuser

x11forwarding no

allowtcpforwarding no

forcecommand internal-sftp

擴充套件:ssh只允許指定的使用者登陸(同樣適用於sftp)

方法1:在/etc/pam.d/sshd檔案第一行加入

auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail

然後在/etc下建立sshusers檔案,編輯這個檔案,加入你允許使用ssh服務的使用者名稱,不用重新啟動sshd服務。

方法2:pam規則也可以寫成deny的

auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed

方法3:在sshd_config中設定allowusers,格式如

allowusers a b c

重啟sshd服務,則只有a/b/c3個使用者可以登陸

SQL Server 2000 資料庫分離與附加

sp detach db 從伺服器分離資料庫,並可以選擇在分離前在所有的表上執行 update statistics。語法sp detach db dbname dbname skipchecks skipchecks 引數 dbname dbname 要分離的資料庫名稱。dbname 的資料型別為...

一鍵SSH免密指令碼

大型專案一鍵ssh免密指令碼 usr bin env bash root cd dirname 0 pwd source dragonrc read p 請您輸入主機使用者 user if z user then echo echo e 033 1 32 31m警告 您輸入的使用者名為空!033 0...

原始碼編譯安裝Apache 附一鍵部署指令碼

1.進入apache官網點選download 2.如圖選擇 3.選擇httpd 1.輸入命令rz,會彈出對話方塊可以把windows的檔案傳到linux中去。2.在彈出對話方塊中選擇軟體包 新增 確定。注意盡量將軟體放在桌面,我把軟體放在d盤,然後通過桌面的快捷方式新增後傳到linux中的檔案就已經...