回車提示輸入密碼。進入提示符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。在圖形界面下操作就簡便多了。
❷ 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用戶。
❸ 如何在linux下配置ssh和sftp使用不同的埠號
1、兩個deamon
要實現ssh和sftp分離,分別監聽不同的埠,可以通過創建兩個『/usr/sbin/sshd』後台程序,一個監聽22埠(ssh),一個監聽20022埠(sftp),為了區分ssh和sftp服務的後台程序,這里將ssh服務的後台程序保持為/usr/sbin/sshd,而將sftp服務的後台程序改為/usr/sbin/sftpd。/usr/sbin/sftpd是/usr/sbin/sshd的一個鏈接,其內容完全相同(ln
-sf /usr/sbin/sshd /usr/sbin/sftpd)。
2、兩個service
SLES12使用systemd管理系統服務,ssh服務對應/usr/lib/systemd/system/sshd.service文件,實現sftp服務時可以將/usr/lib/systemd/system/sshd.service
復制到
/etc/systemd/system/sftpd.service,然後修改sftpd.service文件內容。(使用修改好的sftpd.service文件即可)
3、其他文件
系統的ssh服務是通過安裝openssh實現的,可以通過rpm -ql openssh查看該rpm包含哪些文件。總結實現ssh和sftp分離的相關的文件有:
ssh服務 sftp服務
/usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
(通過修改/usr/lib/systemd/system/sshd.service文件得到)
/etc/pam.d/sshd /etc/pam.d/sftpd (通過復制 /etc/pam.d/sshd文件得到)
/etc/ssh/sshd_config /etc/ssh/sftpd_config (通過復制/etc/ssh/sshd_config文件得到)
/usr/sbin/rcsshd /usr/sbin/rcsftpd (ln -sf /usr/sbin/service /usr/sbin/rcsftpd)
/usr/sbin/sshd /usr/sbin/sftpd (ln -sf /usr/sbin/sshd /usr/sbin/sftpd)
/etc/sysconfig/ssh /etc/sysconfig/sftp (通過修改/etc/sysconfig/ssh文件得到)
至此,我們已經實現了兩個服務。
但是,ssh服務和sftp服務並沒有真正的分離,此時已然可以通過22號埠使用ssh服務和sftp服務,而新開的20022埠也可以使用ssh服務(ssh
-p 20022 username@serverip )和sftp服務(sftp -o Port=20022
username@serverip )。
4、關閉22號埠下的sftp服務
編輯/usr/sbin/sshd的配置文件/etc/ssh/sshd_config文件,將Subsystem參數注釋掉,然後重啟sshd
同時也可以設置可訪問22號埠的用戶白名單:
編輯/etc/ssh/sshd_config文件,設置AllowGroups參數(假設設置為AllowGroups sshonly),限制僅AllowGroups組內的用戶可通過22號埠ssh登錄系統(對於需要ssh登錄系統的用戶可通過usermod -A sshonly <username>將其加入到AllowGroups組內)
5、「關閉20022號埠下的ssh服務」
sftp作為一個子服務,它的開啟依賴於ssh服務,因此不能從本質上關閉ssh服務而只開啟sftp服務。
可以用以下方式來規避:
/usr/sbin/sftpd的配置文件/etc/ssh/sftpd_config中包含Subsystem參數配置(推薦使用Subsystem sftp internal-sftp -l INFO -f AUTH)
/etc/ssh/sftpd_config中包含AllowGroups參數(假設為AllowGroups sftponly),限制僅AllowGroups組內的用戶可以訪問20022埠
將AllowGroups組內的用戶的shell改為/bin/false(usermod -s /bin/false <username>),使AllowGroups組內的用戶僅能sftp登錄系統(如果一個用戶即需要ssh,又需要sftp,則不能將其shell改為/bin/false)
6、用戶白名單配置
配置之後,需將系統內需要ssh訪問系統的用戶加入到sshonly組內,需將系統內需要sftp訪問系統的用戶加入到sftponly組,同時需要ssh和sftp的用戶則sshonly和sftponly組都要加入。
7、 重啟ssh服務和sftp服務,並設置開機啟動
service sshd restart
service sftpd restart
❹ Linux系統如何關閉scp和sftp命令
sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。接下來是我為大家收集的Linux系統如何關閉scp和sftp命令,歡迎大家閱讀:
Linux系統如何關閉scp和sftp命令
系統:centos 5.x
1.先禁止scp
rpm -qa|grep openssh-*
yum remove openssh-clients -y
刪除了openssh-clients後,再執行scp,就會報下面的錯誤:
-bash: scp: command not found
2.禁止sftp
vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server
把這行注釋了,如下:
#Subsystem sftp /usr/libexec/openssh/sftp-server
退出保存後,重啟sshd:
service sshd restart
以上就是Linux系統中禁止scp和sftp命令的方法了。有需要或者是有興趣的用戶,可以在自己的電腦上嘗試操作一下。
看了“Linux系統如何關閉scp和sftp命令”還想看:
1. linux系統中scp命令怎麼使用
2. 怎麼利用scp命令來實現linux系統之間互傳文件
3. Linux scp命令怎麼使用
4. Linux怎麼設置用戶通過SFTP訪問目錄的許可權
5. linux下scp遠程拷貝怎麼使用
6. linux scp怎麼遠程拷貝文件
❺ 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命令傳文件。
❻ Linux下如何進行SFTP用戶許可權設置
1、打開Linux文件查看有哪些許可權。
注意事項:
Linux用戶分三種,超級用戶,普通用戶,偽用戶,超級用戶擁有所有許可權,偽用戶一般和進程相關,無需登錄系統,所以常說的管理用戶許可權指的是管理Linux中普通用戶的許可權。