Linux之sftp服務
一、sftp介紹
轉自:
[1]Linux如何開啟SFTP https://www.cnblogs.com/xuliangxing/p/7120205.html
SFTP是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。
SFTP與FTP有着幾乎一樣的語法和功能。
SFTP為SSH的一部分,是一種傳輸檔案至Blogger伺服器的安全方式。其實在SSH軟件包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol的安全文件傳輸子系統,SFTP本身沒
有單獨的守護進程,它必須使用SSHD守護進程(端口號默認是22)來完成相應的連接操作,所以從某種意義上來說,SFTP並不像一個服務器程序,而更像是一個客戶端程序。
SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果對網絡安全性要求更高時,
可以使用SFTP代替FTP。
二、開啟關閉sftp
開始SSH服務,就會自動開啟SFTP。關閉SSH服務,也會關閉SFTP。
1. /etc/init.d/sshd start
2. /etc/init.d/sshd stop
三、sftp常用命令
轉自:
[1]sftp常用命令介紹 https://blog.csdn.net/qq_24309787/article/details/80117269
[2]SFTP服務的使用 https://www.cnblogs.com/uestc-mm/p/6365947.html
1.sftp user@ip
你要用sftp, 當然得登錄到sftp服務器啊,在linux的shell中執行上面的命令后,linux shell會提示用戶輸入密碼,我們就輸入password吧。這樣就成功建立了sftp連接。
2. help
建立連接后,linux shell中的$編程了sftp>, 這也對。現在執行以下help, 可以看看sftp支持哪些命令。
3. pwd和lpwd
pwd是看遠端服務器的目錄,即sftp服務器默認的當前目錄。lpwd是看linux本地目錄。
4. ls和lls
ls是看sftp服務器下當前目錄下的東東, lls是看linux當前目錄下的東東。
5. put a.txt
這個是把linux當前目錄下的a.txt文件上傳到sftp服務器的當前目錄下。
put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/
這條語句將把本地/home/fuyatao/downloads/目錄下的linuxgl.pdf文件上傳至遠程主機/var/www/fuyatao/ 目錄下。
6. get b.txt
這個是把sftp服務器當前目錄下的b.txt文件下載到linux當前目錄下。
get /var/www/fuyatao/index.php /home/fuyatao/
這條語句將從遠程主機的/var/www/fuyatao/目錄下將index.php下載到本地/home/fuyatao/目錄下。
7. !command
這個是指在linux上執行command這個命令, 比如!ls是列舉linux當前目錄下的東東, !rm a.txt是刪除linux當前目錄下的a.txt文件。
這個命令非常非常有用, 因為在sftp> 后輸入命令, 默認值針對sftp服務器的, 所以執行rm a.txt刪除的是sftp服務器上的a.txt文件, 而非本地的linux上的a.txt文件。
8. exit和quit
退出。
總之,連接后,有一個help命令,足矣足矣。
四、sftp服務配置
轉自:
[1]Linux下sftp服務配置 https://www.cnblogs.com/huangyanqi/p/11304257.html
[2]linux如何搭建sftp服務器 https://www.cnblogs.com/reachos/p/11157329.html
sftp服務配置步驟:
(1)創建sftp用戶組
groupadd sftp
(2)創建ftp用戶
useradd -g sftp -s /sbin/nologin -M Tom
passwd Tom
(3)創建Tom家目錄並指定
注釋:給家目錄更改屬主並授權家目錄屬主必須是root,權限可以是755或者750
mkdir /opt/data -p
usermod -d /opt/data Tom
chown root:root /opt/data
chmod 755 /opt/data
(4)創建可寫目錄
mkdir /opt/data/file -p
chown Tom:sftp /opt/data/file
(5)編輯配置文件/etc/ssh/sshd_config
注釋掉X11Forwarding yes 這句話,大概在101行
注釋掉Subsystem sftp /usr/libexec/openssh/sftp-server 這句話,大概在132行
並在文件末尾添加如下語句:
Subsystem sftp internal-sftp
Match User Tom
ChrootDirectory /opt/data
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
systemctl restart sshd
(6)驗證
systemctl restart sshd
sftp Tom@127.0.0.1
五、附加
1、安裝、卸載ftp服務
[1]Linux中安裝,卸載ftp|sftp服務 http://www.jh-floor.com/fuwuqijiaocheng/Linux/489.html
sftp采用的是ssh加密隧道,安裝性方面較ftp強,而且依賴的是系統自帶的ssh服務,不像ftp還需要額外的進行安裝
安裝、卸載ftp服務: 安裝vsftpd軟件 rpm -qa |grep vsftpd #檢測是否安裝了vsftpd軟件 yum install vsftpd -y #安裝ftp服務 啟動關閉服務: service vsftpd start #啟動ftp服務 service vsftpd stop #關閉ftp服務 service vsftpd restart #重啟ftp服務 卸載ftp服務 rpm -qa |grep vsftp #查看vsftpd軟件版本 service vsftpd stop #先關閉ftp服務 rpm -e 版本名稱 #卸載vsftpd軟件
2、java實現SFTP多文件上傳,刪除
[1]SFTP多文件上傳,刪除 https://www.cnblogs.com/future-eye/p/8194544.html