⑴ 如何在windows上配置sftp
以winscp軟體為例:1、將之前下載的sftp服務端解壓縮,然後直接運行主程序。點「NEXT」按鈕進行下面的操作。
2、在許可協議窗口處填寫「同意」並點「下一步」按鈕繼續。
3、在接下來的配置窗口中選擇要安裝的組件,從界面中可以看到包括client(客戶端)與server(伺服器端),實際上只需要伺服器端,而客戶端使用之前下載的WinSCP 3.8.2即可。選擇相應的伺服器端組件後點「下一步」完成安裝
4、 接下來就要啟動該服務了,通過「開始->運行->輸入CMD後回車」進入到命令提示窗口,然後通過cd命令定位到c:\programfiles\openssh\bin目錄。
5、依次執行mkgroup -l >> ..\etc\group mkpasswd -l >> ..\etc\passwd命令,這樣你目前windows本地帳戶中的用戶就都可以登錄該sftp伺服器了,自對文件目錄的訪問許可權和NTFS許可權一致。此步驟相當於FTP中的建立訪問帳號。
6、添加完各個訪問帳戶後就可以使用了。
SFTP:sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。
⑵ 伺服器把ssh的埠號改了,在linux終端怎麼用sftp連接
從技術角度來分析,幾個要求:
1、從安全方面看,sftp會更安全一點
2、線上伺服器提供在線服務,對用戶需要控制,只能讓用戶在自己的home目錄下活動
3、用戶只能使用sftp,不能ssh到機器進行操作
提供sftp服務,可以用系統自帶的internal-sftp,也可以使用vsftpd,這里需求不多,直接選用internal-sftp。
限制用戶只能在自己的home目錄下活動,這里需要使用到chroot,openssh 4.8p1以後都支持chroot,我現在用的是CentOS 6.3,自帶的openssh已經是5.3p1,足夠了。
可以輸入:
# ssh -V
來查看openssh的版本,如果低於4.8p1,需要自行升級安裝,不在這里具體介紹了。
假設,有一個名為sftp的組,這個組中的用戶只能使用sftp,不能使用ssh,且sftp登錄後只能在自己的home目錄下活動
1、創建sftp組
# groupadd sftp
2、創建一個sftp用戶,名為mysftp
# useradd -g sftp -s /bin/false mysftp
# passwd mysftp
3、sftp組的用戶的home目錄統一指定到/data/sftp下,按用戶名區分,這里先新建一個mysftp目錄,然後指定mysftp的home為/data/sftp/mysftp
# mkdir -p /data/sftp/mysftp
# usermod -d /data/sftp/mysftp mysftp
4、配置sshd_config
編輯 /etc/ssh/sshd_config
# vim +132 /etc/ssh/sshd_config
找到如下這行,並注釋掉
Subsystem sftp /usr/libexec/openssh/sftp-server
添加如下幾行
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
解釋一下添加的幾行的意思
Subsystem sftp internal-sftp
這行指定使用sftp服務使用系統自帶的internal-sftp
Match Group sftp
這行用來匹配sftp組的用戶,如果要匹配多個組,多個組之間用逗號分割
當然,也可以匹配用戶
Match User mysftp
這樣就可以匹配用戶了,多個用戶名之間也是用逗號分割,但我們這里按組匹配更靈活和方便
ChrootDirectory /data/sftp/%u
用chroot將用戶的根目錄指定到/data/sftp/%u,%u代表用戶名,這樣用戶就只能在/data/sftp/%u下活動,chroot的含義,可以參考這里:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/
ForceCommand internal-sftp
指定sftp命令
AllowTcpForwarding no
X11Forwarding no
這兩行,如果不希望該用戶能使用埠轉發的話就加上,否則刪掉
5、設定Chroot目錄許可權
# chown root:sftp /data/sftp/mysftp
# chmod 755 /data/sftp/mysftp
錯誤的目錄許可權設定會導致在log中出現」fatal: bad ownership or modes for chroot directory XXXXXX」的內容
目錄的許可權設定有兩個要點:
1、由ChrootDirectory指定的目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root
2、由ChrootDirectory指定的目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權
所以遵循以上兩個原則
1)我們將/data/sftp/mysftp的所有者設置為了root,所有組設置為sftp
2)我們將/data/sftp/mysftp的許可權設置為755,所有者root有寫入許可權,而所有組sftp無寫入許可權
6、建立SFTP用戶登入後可寫入的目錄
照上面設置後,在重啟sshd服務後,用戶mysftp已經可以登錄,但使用chroot指定根目錄後,根應該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入許可權,而所有組無寫入許可權
# mkdir /data/sftp/mysftp/upload
# chown mysftp:sftp /data/sftp/mysftp/upload
# chmod 755 /data/sftp/mysftp/upload
7、重啟sshd服務
# service sshd restart
到這里,mysftp已經可以通過sftp客戶端登錄並可以上傳文件到upload目錄。
如果還是不能在此目錄下上傳文件,提示沒有許可權,檢查SElinux是否關閉,可以使用如下指令關閉SElinux
關於Linux命令的介紹,看看《linux就該這么學》,具體關於這一章地址3w(dot)linuxprobe/chapter-02(dot)html
修改/etc/selinux/config文件中的SELINUX="" 為 disabled ,然後重啟。或者
# setenforce 0
⑶ Linux下幾種文件傳輸命令 sz rz sftp scp
最近在部署系統時接觸了一些文件傳輸命令,分別做一下簡單記錄: 1.sftpSecure Ftp 是一個基於SSH安全協議的文件傳輸管理工具。由於它是基於SSH的,會在傳輸過程中對用戶的密碼、數據等敏感信息進行加密,因此可以有效的防止用戶信息在傳輸的過程中被竊取,比FTP有更高的安全性。在功能方面與FTP很類似,不僅可以傳輸文件數據,而且可以進行遠程的文件管理(如建立,刪除,查看文件列表等操作)。Sftp與ftp雖然只有一字之差,但基於的傳輸協議卻是不同的。因此不能用sftp client去連接ftp server 也不能用 ftp client 去連接 sftp server。 建立連接:sftp user@host 從本地上傳文件:put localpath 下載文件:get remotepath 與遠程相對應的本地操作,只需要在命令前加上」l」 即可,方便好記。 例如:lcd lpwd lmkdir 2.scpSCP :secure (remote file program) 也是一個基於SSH安全協議的文件傳輸命令。與sftp不同的是,它只提供主機間的文件傳輸功能,沒有文件管理的功能。 復制local_file 到遠程目錄remote_folder下 scp local_file remote_user@host:remote_folder 復制local_folder 到遠程remote_folder(需要加參數 -r 遞歸) scp –r local_folder remote_user@host:remote_folder 以上命令反過來寫就是遠程復制到本地 3.sz/rzsz/rz 是基於ZModem傳輸協議的命令。對傳輸的數據會進行核查,並且有很好的傳輸性能。使用起來更是非常方便,但前提是window端需要有能夠支持ZModem的telnet或者SSH客戶端,例如secureCRT。 首先需要在secureCRT中可以配置相關的本地下載和上傳目錄,然後用rz、sz命令即可方便的傳輸文件數據。 下載數據到本地下載目錄:sz filename1 filename2 … 上傳數據到遠程:執行rz –be 命令,客戶端會彈出上傳窗口,用戶自行選擇(可多選)要上傳的文件即可。 相關資料:
⑷ 如何設置通過sftp將文件上傳到linux指定 工具指定根目錄路徑
如果是window下上傳到linux,可以安裝個flashfxp軟體。輸入用戶密碼。就可以象ftp一樣上傳文件到linux里。。
如果是linux傳linux。。。
直接使用sftp ip 輸入用戶密碼,然後用cd ls put get等命令就可以把文件傳到相應目錄
具體命令參數可以輸入sftp --help 就可以參看了
⑸ 如何配置 ftp/sftp 訪問遠程文件
眾所周知SFTP賬號是基於SSH賬號的,所以在默認情況下訪問伺服器的許可權是非常大的。下面為SFTP用戶許可權設置方法。
必要條件:
你的openssh-server版本至少得失4.8p1, 因為配置許可權需要版本添加的新配置項ChrootDirectory來完成。
如何查看自己伺服器上的ssh版本?大家可以嘗試以下命令:
$ ssh -V
具體實施步驟:
1. 我們需要創建一個用戶組,專門用於sftp用戶
$ groupadd sftpusers
2. 我們創建一個用戶test
$ useradd -s /bin/false -G sftpuser test
注意這里我們將test用戶的shell設置為/bin/false使他沒有登陸shell的許可權
3. 編輯 /etc/ssh/sshd_config
找到Subsystem這個配置項,將其修改為
Subsystem sftp internal-sftp
然後再到文件最尾處增加配置設定屬於用戶組sftpusers的用戶都只能訪問他們自己的home文件夾
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
保存並關閉文件
4. 修改test用戶home文件夾的許可權,讓其屬於root用戶
chown root ~test
5. 重啟sshd服務
$ service sshd restart
6. 測試用戶賬號
$ ssh test@localhost
連接會被拒絕或者無法登陸
$ sftp tesst@localhost
登陸後你會發現你的賬號無法切換到除自己home目錄之外的地方的
常見問題:
如果你鏈接伺服器的時候出現下面的提示:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
這個問題的原因是ChrootDirectory的許可權問題,你設定的目錄必須是root用戶所有,否則就會出現問題。所以請確保sftp用戶根目錄的所有人是root, 許可權是 750 或者 755。
⑹ 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。在圖形界面下操作就簡便多了。
⑺ sftp命令不換行
在回話選項裡面做如下設置:
1:連接-->SSH2-->SFTP標簽頁·對本地目錄進行選擇,然後點擊確定。
2:在SecureCRT中採用SSH方式登錄linux後,在標簽頁上面點擊右鍵:連接SFTP標簽頁。
3:在新開的sftp窗口輸入如下指令:lpwd:獲取當前本地路徑;lls:獲取當前本地路徑下的文件、目錄信息;put-b123、doc:以二進制方式上傳文件123、doc,如果要文本模式,參數是put-a123、txt。
⑻ windows10怎麼創建sftp
windows中可以使用Core FTP,FileZilla, WinSCP,Xftp來連接SFTP進行上傳,下載文件,建立,刪除目錄等操作。
以winscp軟體為例:
1、將之前下載的sftp服務端解壓縮,然後直接運行主程序。點「NEXT」按鈕進行下面的操作。
2、在許可協議窗口處填寫「同意」並點「下一步」按鈕繼續。
3、在接下來的配置窗口中選擇要安裝的組件,從界面中可以看到包括client(客戶端)與server(伺服器端),實際上只需要伺服器端,而客戶端使用之前下載的WinSCP 3.8.2即可。選擇相應的伺服器端組件後點「下一步」完成安裝
4、 接下來就要啟動該服務了,通過「開始->運行->輸入CMD後回車」進入到命令提示窗口,然後通過cd命令定位到c:\programfiles\openssh\bin目錄。
5、依次執行mkgroup -l >> ..\etc\group mkpasswd -l >> ..\etc\passwd命令,這樣你目前windows本地帳戶中的用戶就都可以登錄該sftp伺服器了,自對文件目錄的訪問許可權和NTFS許可權一致。此步驟相當於FTP中的建立訪問帳號。
6、添加完各個訪問帳戶後就可以使用了。
SFTP:sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。
⑼ 怎麼開啟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並不像一個伺服器程序,而更像是一個客戶端程序。