linuxsftp腳本
在Linux/Unix/macOS系統中,SFTP(Secure File Transfer Protocol)是安全文件傳輸的重要工具,它基於SSH協議,提供更安全的文件傳輸方式,推薦替代不安全的FTP。本文將深入解析SFTP的使用,包括連接方法、命令參數、目錄管理以及最佳實踐。
連接與基本操作
由於SFTP基於SSH,通常使用SSH密鑰進行身份驗證。連接命令示例如下(可指定自定義埠):
ssh -P [port] [username]@[server_address]
連接後,會看到sftp>的提示,使用exit退出。若路徑指向文件,會直接下載,指向目錄則會遞歸下載。
參數詳解與目錄管理
SFTP解釋器內置了幫助文檔,查看目錄、文件內容、切換目錄和創建文件夾的命令如下:
- 查看工作目錄:cd
- 查看目錄內容:ls
- 查看詳細信息:ls -la
- 切換目錄:cd [directory]
- 創建文件夾:mkdir [folder_name]
在本地目錄操作前,命令前加'l',如ls -l 。
文件傳輸
從伺服器下載文件使用get,本地上傳文件使用put。例如:
- get [remote_path] [newName]
- put [local_path] [remote_path]
- 上傳目錄時確保目標目錄存在,否則需先創建。
最佳實踐
在日常操作中,建議按照以下步驟進行:
- 安全連接到遠程伺服器
- 使用埠指定
- 從伺服器下載文件
- 上傳本地文件
- 檢查伺服器和本地目錄內容
- 在SFTP中執行本地Shell命令
『貳』 Linux下安裝SFTP
搭建本地SFTP伺服器,以在Linux環境下創建測試環境。
環境選擇:CentOS 7。
搭建步驟如下:
一、關閉防火牆與selinux。
1. 執行命令:systemctl stop firewalld && systemctl disable firewalld
2. 修改配置文件:sudo vi /etc/sysconfig/selinux
將文件中的SELINUX=enforcing 更改為 SELINUX=disabled
3. 執行命令:setenforce 0
二、創建並設置用戶密碼。
4. 創建用戶:sudo useradd -m -s /bin/bash sftp_user
5. 設置密碼:sudo passwd sftp_user
三、修改sshd_config文件。
6. 執行命令:sudo vi /etc/ssh/sshd_config
添加:PermitRootLogin no
四、重啟sshd服務。
7. 執行命令:sudo systemctl restart sshd
五、修改sftp-users用戶組許可權。
8. 設置許可權:sudo chown root:root /data/sftp
9. 修改許可權:sudo chmod 755 /data/sftp
六、創建並賦予文件夾許可權。
10. 創建文件夾:sudo mkdir -p /data/sftp_user
11. 賦予許可權:sudo chmod 755 /data/sftp_user
12. 將sftp_user加入到sftp-users組:sudo usermod -a -G sftp-users sftp_user
七、驗證SFTP服務。
13. 使用filezilla或本地伺服器登錄測試,確保可以正常上傳與下載。
搭建完成後,即可使用本地SFTP伺服器進行測試操作。後續遇到問題,將陸續進行補充。
『叄』 linux的sftp命令
對於Linux用戶來說,理解並掌握sftp命令的使用至關重要。本文將詳細介紹Linux環境下sftp命令的基本操作和功能。
首先,sftp命令的常用登陸方式是通過格式進行連接,其中user代表登錄用戶名,host是目標伺服器地址,默認埠為22。通過這種方式,用戶可以便捷地與遠程主機進行文件傳輸。
在sftp中,你可以通過help命令查看支持的命令,這些命令包括本地執行(以'l'開頭)和遠程主機執行。基礎操作主要是文件的上傳和下載,例如:
- 下載文件:get [-Ppr] remote [local],如get test.cpp /Projec,將遠程文件下載到本地。
- 上傳文件:put [-Ppr] local [remote],如put /home/liu/Software/RHEL_5.5 x86_64.iso /home/xudong/Blog/,將本地文件上傳到遠程主機。
除了基本的get和put,sftp還支持其他如ls、cd、pwd等命令,它們提供了豐富的交互功能。sftp基於安全的ssh協議,相比傳統的ftp,它更安全,適合數據傳輸。
使用sftp前,確保伺服器的ssh服務已開啟,可以通過/etc/init.d/sshd start命令啟動。連接時,可以使用sftp -oPort=port_number username@server_ip [file1 file2 ...],指定埠以避免默認埠被佔用。
總的來說,Linux的sftp命令提供了一種安全、便捷的文件傳輸方式,對於需要頻繁在本地和遠程伺服器之間交換文件的用戶來說,熟練掌握sftp命令是必不可少的。
『肆』 Linux基礎命令 sftp命令的使用
SFTP(Secure File Transfer Protocol,安全文件傳輸協議)是一種基於可靠數據流(data stream),提供文件存取和管理的網路傳輸協議,與 FTP 協議相比,SFTP 在客戶端與伺服器間提供了一種更為安全的文件傳輸方式,如果你還在使用 FTP 來進行文件傳輸,強烈建議切換到更為安全的 SFTP 上來。
常用命令使用:
1.遠端伺服器當前工作目錄
sftp> pwd
Remote working directory: /
2.遠端伺服器切換目錄
sftp> cd Directory
3.遠端伺服器建立目錄
sftp> mkdir Directory
以上的命令都是用來操作遠程伺服器的,如果想要操作本地目錄呢?只需要在每個命令前添加 l即可
4.顯示本地操作目錄下的文件:
sftp> lls
Files
5.使用 ! 可以直接運行 Shell 中的指令.
6.從遠程伺服器拉取文件
sftp> get remoteFile [newName] 如果不指定 newName,將使用和遠程伺服器相同的文件名。
7.從本地上傳文件到伺服器
sftp> put File
『伍』 Linux中使用shell腳本訪問sftp伺服器,密鑰不會用
密鑰用於建立SSH互信環境,本地公鑰需要分發到遠端伺服器目錄,可實現本地主機到遠端SFTP伺服器的無訪問.
1. 生成密鑰對,取得本地公鑰,如:id_dsa.pub
2. 登錄到遠端SFTP伺服器用戶HOME目錄的.ssh文件夾
3. 將id_dsa.pub的內容追加到遠端伺服器.ssh/autorized_keys文件尾部並保存
4. 嘗試與本地主機用戶SFTP到遠程伺服器: sftp user@server_addr
『陸』 怎麼開啟linux伺服器的sftp服務
可以按照如下方式進行設置:
1、創建sftp組,groupaddsftp,創建完成之後使用cat /etc/group命令組的信息。
拓展資料
1、sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的網路的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。
2、其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
『柒』 linux下如何使用sftp命令
回車提示輸入密碼。進入提示符sftp如果登陸遠程機器不是為了上傳下載文件,而是要修改遠程主機上的某些文件。可以 ssh [email protected] (其實sftp就是ssh 的一個程式。) sftp get /var/www/fuyatao/index.php /home/fuyatao/ 這條語句將從遠程主機的 /var/www/fuyatao/目錄下將 index.php 下載到本地 /home/fuyatao/目錄下。 sftp put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/ 這條語句將把本地 /home/fuyatao/downloads/目錄下的 linuxgl.pdf文件上傳至遠程主機/var/www/fuyatao/ 目錄下。 改變路徑可以用cd ,改變本機路徑可以用 lcd; ls rm rmdir mkdir 這些命令都可以使用。同理調用本機都是加 l , 即 lls lrm. 要離開sftp,用exit 或quit、 bye 均可。詳細情況可以查閱 man sftp. 如果覺得在命令行模式下不太方便,可以 sudo apt-get install gftp。在圖形界面下操作就簡便多了。