① centos7 中使用sftp窗口的get命令下載文件到Windows,請問下載到了Windows的哪個目錄
應該是 c:\users\your_user_name
和你的 用戶名有關系的那個
去 看看
② CentOS使用sftp命令進行主機間文件傳輸
sftp是Secure FileTransferProtocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp與 ftp有著幾乎一樣的語法和功能。SFTP為 SSH的一部分,是一種傳輸檔案至Blogger伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File TransferProtocol)的安全文件傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網路安全性要求更高時,可以使用SFTP代替FTP。
登錄成功後,才可以進行下面的獲取和發送操作。
1.登錄遠程賬號
2.從遠程獲取文件夾
3.退出
框內輸出exit,即退出sftp。
③ linux的sftp命令
linux下sftp命令很多人都只是了解了語法卻不知道具體用法,下面由我為大家整理了linux下sftp命令的相關知識,希望對大家有幫助!
linux的sftp命令
1.常用登陸方式:
格式:sftp 《user》@《host》
通過sftp連接《host》,埠為默認的22,指定用戶《user》。
2.查看sftp支持的命令
使用help命令,查看支持的命令,如:
sftp》help
(其中命令前面有“l”表示本地執行,其他表示在所登錄的遠程主機上面執行)
3.基本的使用
sftp主要是用來傳輸文件的,包括上傳文件(從本機到遠程主機) ,下載文件(從遠程主機到本機)。
(1)文件下載
get [-Ppr] remote [local]
如:get test.cpp 。/Project/
將遠程當前目錄下的文件test.cpp下載到本地當前目錄的Project文件夾中。
(2)文件上傳
put [-Ppr] local [remote]
如:put /home/liu/Software/RHEL_5.5 x86_64.iso /home/xudong/Blog/
將本地/home/liu/Software/目錄下的ios文件傳送到遠程登陸主機的/home/xudong/Blog/目錄下。
(3)其他命令
可以使用命令還是有幾個的,如ls、lls;cd、lcd;pwd、lpwd等。具體查看help輸出吧。
sftp就是secure file transfer program,它基於ssh,用它在兩個Linux系統間傳遞文檔非常方便。
要使用sftp傳遞文檔,首先應該在伺服器端打開ssh服務,如果沒有打開,一般可以通過下面的命令打開:
# /etc/init.d/sshd start
然後就可以在客戶端通過sftp登錄伺服器端進行文檔傳遞操作,如下:
$ sftp [-oPort=port_number] username@server_ip[:file1 file2 。。。]
補充:Linux的sftp命令的參數說明
-o 用來向ssh傳遞參數,比如-oPort=222,會告訴ssh使用連接伺服器的222埠,而不是默認的22埠。這個在遇到伺服器端把ssh服務默認的22號埠改變的情況時會有用。
後面的file1、file2代表文件名,也可以是一個目錄。在沒有指定文件時會打開一個交互界面,在交互界面下可以通過命令來傳遞文檔。
如:
$ sftp -o port = 222 [email protected]
Linux的sftp命令的命令說明
在sftp命令的交互界面下,有很多命令可以用,比如:cd、ls、pwd、bye、chmod、chgrp、chown、df、get、help、mkdir等等。當然這些命令都是針對伺服器端的操作,其中一些命令在加l前綴的情況下可以實現在本地下的操作。比如,lpwd命令會列印本地當前工作目錄(即連接sftp前的當前工作目錄)。這些命令中有兩個是用來交換文檔的,它們是get和put命令,如下:
》 put local_path [remote_path]
》 get remote_path [lcoal_path]
put 命令會把本地文件或目錄“推”到伺服器端;get命令則把伺服器端文件或目錄“拉”下來。
上面就是Linux使用sftp命令傳輸文件相關介紹了,相較於ftp而已,sftp命令傳輸文件更加安全,推薦使用sftp命令傳文件。
④ 如何配置 SFTP 接收位置
在左窗格中,單擊「接收埠」節點,在右窗格中,右鍵單擊你希望將新的接收位置與其關聯的接收埠,然後單擊「屬性」。在「接收埠屬性」對話框的左窗格中,選擇「接收位置」,然後在右窗格中單擊「新建」以創建新的接收位置。在「接收位置屬性」對話框的「傳輸」部分中,從「類型」下拉列表中選擇「SFTP」,然後單擊「配置」以配置接收位置的傳輸屬性。在「SFTP 傳輸屬性」對話框的「常規」選項卡中,執行以下操作:�0�2 使用此選項 執行此操作 ConnectionLimit指定伺服器允許的並行打開的最大連接數。0 表示無限制。PollingInterval指定適配器輪詢伺服器的時間間隔。若要連續輪詢,請將此值設置為零。默認值:零單位指定所指定的輪詢間隔的單位,例如,秒、分鍾、小時或天。默認值:秒AccessAnySSHServerHostKey如果設置為 True,則接收位置接受來自伺服器的任何 SSH 公共主機密鑰。如果設置為 False,則接收位置使用伺服器的指紋進行身份驗證。你在 SSHServerHostKeyFingerPrint 屬性中指定指紋。默認值:FalseClientAuthenticationMode指定接收位置用於對連接 SSH 伺服器的客戶端進行身份驗證的身份驗證方法。如果設置為「密碼」,則必須在「密碼」屬性中指定值。如果設置為 PublicKeyAuthentication,則必須在 PrivateKey 屬性中指定用戶的私鑰。此外,如果該私鑰受密碼保護,則還要為 PrivateKeyPassword 屬性指定密碼。默認值: 密碼密碼如果將 ClientAuthenticationMode 設置為「密碼」,則指定 SFTP 用戶密碼。PrivateKey如果將 ClientAuthenticationMode 設置為 PublicKeyAuthentication,則指定 SFTP 用戶的私鑰。便箋 該私鑰必須是指定的 .pkf 文件。 PrivateKeyPassword指定私鑰密碼,如果在 PrivateKey 屬性中指定的密鑰要求這樣做。SSHServerHostKey指定安全 FTP 伺服器的 SSH 公共主機密鑰。用戶名指定安全 FTP 伺服器的用戶名。FileMask指定在從安全 FTP 伺服器檢索文件時要使用的文件掩碼。FolderPath指定安全 FTP 伺服器上可供接收位置從中檢索文件的文件夾路徑。埠指定在其上進行文件傳輸的安全 FTP 伺服器的埠地址。ServerAddress指定安全 FTP 伺服器的伺服器名稱或 IP 地址。單擊「確定」。
⑤ linux/centos普通用戶sudo開啟sftp
一般情況下,從安全考慮,root是禁止ssh登錄,普通用戶通過sudo操作,一般都沒問題,但是要通過ftp傳輸文件就麻煩了,文件是屬於root用戶的,普通用戶即使等登錄也不能更改文件,也要加上sudo命令才能更改文件,通過winscp軟體可以實現實現這個功能,詳細配置查看這個帖子:
http://blog.csdn.net/xuejinliang/article/details/52301349
配置圖1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高級-SFTP sudo /usr/libexec/openssh/sftp-server
配置圖2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高級-Shell sudo -i
附加背景知識:
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP
在主流linux系統版本當中,默認都有安裝openssl和openssh包,都有ssh命令,也就是說默認安裝好了SFTP伺服器和sftp命令,不需要額外配置vsftp。
sftp有兩種實現
1.sftp-server默認實現
2.internal-sftp可更改用戶對應的目錄
本來考慮不用sudo,而是通過internal-sftp來實現,把普通用戶加入到root用戶組,把文件的root用戶組許可權加上寫的許可權來實現的,後來發現沒用,
因為目錄許可權設置要遵循2點:
ChrootDirectory設置的目錄許可權及其所有的上級文件夾許可權,屬主和屬組必須是root;
ChrootDirectory設置的目錄許可權及其所有的上級文件夾許可權,只有屬主能擁有寫許可權,許可權最大設置只能是755。
如果不能遵循以上2點,即使是該目錄僅屬於某個用戶,也可能會影響到所有的SFTP用戶。
⑥ 使用sftp進行文件傳輸
SFTP是SSH File Transfer Protocol的縮寫,安全文件傳送協議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
SFTP與FTP差別
只使用SFTP傳輸文件,不能使用ssh登錄系統
創建sftp用戶組
創建sftp用戶
將ChrootDirectory目錄設置為/home(所有權必須為root),然後 ForceCommand 使用-d 選項將用戶的主目錄指定為起始目錄
當前/home目錄
編輯/etc/ssh/sshd_config文件
使用SFTP客戶端,上傳文件
查看用戶home目錄
嵌套主目錄
創建目錄並設置許可權
查看當前的目錄結構
修改/etc/ssh/sshd_config文件
使用SFTP客戶端上傳文件
查看上傳的文件位置
驗證
從10.10.0.1機器登錄
10.10.0.1機器能看到所有的目錄
從其他主機登錄
其他主機只能看到限定的目錄
屬於sftp-only用戶組,但是不限制ssh及sftp
創建用戶
修改配置
驗證
ssh登錄驗證
修改sshd配置
修改 /etc/rsyslog.conf,在最後添加
SFTP 命令
⑦ SFTP 怎麼往伺服器上上傳整個文件夾
使用SecureSRT中的SFTP傳遞文件夾時,有個小細節值得注意一下:
1)在文件夾名dirname後加上'/',傳輸後,目標位置沒有新建文件夾dirname,只有dirname文件夾下的各個文件。
如:
sftp> get -r smsrc/
2)在文件夾名dirname後不加'/',傳輸後,目標位置新建文件夾dirname,所有文件位置新建文件夾dirname下。
如:
sftp> get -r smsrc
⑧ sftp創建新賬戶並指定目錄
首先 你的openssh-server版本至少得是4.8p1,因為配置許可權需要版本添加的新配置項ChrootDirectory來完成。 如何查看自己伺服器上的ssh版本?大家可以嘗試以下命令: # ssh -V 步驟: 1. 我們需要創建一個用戶組,專門用於sftp用戶 # groupadd sftpusers ps我里的用戶組是sftpusers 2. 我們創建一個用戶user # useradd -s /bin/false -G sftpusers user ps注意這里我們將user用戶的shell設置為/bin/false使他沒有登陸shell的許可權 # passwd user ps設置user用戶密碼 3. 編輯/etc/ssh/sshd_config 找到Subsystem這個配置項,將其修改為 Subsystem sftp internal-sftp 然後再到文件最尾處增加配置設定屬於用戶組sftpusers的用戶都只能訪問自己的文件夾 Match Group sftpusers X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /data/sftp/%u #需在 /data/sftp/ 創建user文件夾,該文件夾就是登錄的sftp用戶目錄 保存並關閉 4. 修改user用戶所在文件夾的許可權,讓其屬於root用戶 # chown root /data/sftp/user 5. 重啟sshd服務 # service sshd restart 6. 測試用戶賬號 # ssh user@localhost ps連接會被拒絕,證明該用戶沒有ssh shell登錄的許可權 # sftp user@localhost 登陸後你會發現你的賬號無法切換到除自己本身目錄之外的地方;ps或者登錄失敗,看下面可能出現的問題; 問題: 1,如果在鏈接伺服器的時候出現下面的提示: Write failed: Broken pipe Couldn't read packet: Connection reset by peer 這個問題的原因是ChrootDirectory的許可權問題,你設定的目錄必須是root用戶所有,否則就會出現問題。所以請確保sftp用戶根目錄的所有人是root,許可權是750 或者755。 解決:設置user目錄為root許可權,# chown root:user /data/sftp/user #chmod 750 /data/sftp/user 2,Sftp用戶登錄後不能在本目錄操作: 是因為登錄後的目錄是root許可權,需將sftp賬號賦予root許可權,操作方法將 /etc/passwd 文件中對應的sftp的用戶ID修改為0,這樣就可以有許可權操作登錄後的目錄了(還有其他賦予許可權方法,ps另行查找)。Eg:user:x:503:505::/home/darops:/bin/false 將503改為0