❶ linux中sftp默認登錄的埠號是多少
1、使用sftp默認的埠號進行登錄
aiuap_cj@cuchc802:~> sftp [email protected]
[email protected]'s password:
Connected to 10.124.163.133.
sftp>
備注:可以連接,但是並沒有顯示當前的埠號.
2、使用-P 埠號的方式進行登錄
aiuap_cj@cuchc802:~> sftp -P 21 [email protected]^Caiuap_cj@cuchc802:~> sftp -P 22 [email protected]@10.124.163.133's password: Connected to 10.124.163.133.
sftp>
備注:發現21埠是無法連接的,使用22埠就能進行連接,所以,默認的sftp埠號22,同時呢,如果其他的sftp伺服器的埠號修改之後,可以通過-P來指定要通過哪個埠號連接。
(1)linux登陸sftp擴展閱讀
linux修改sftp埠的方法:
SSH配置文件有兩個都放在/etc/ssh/ssh_config和/etc/ssh/sshd_config在ssh_config中,找到#port22,在其下面就加入port 8080;
同時,在sshd_config中,找到#port 22,在其下面就加入port8080(與上面相同)
之後重啟sshservice sshd restart。
❷ 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/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用戶。
❹ 伺服器把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下如何使用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。在圖形界面下操作就簡便多了。
❻ 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、創建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用戶許可權設置
1、打開Linux文件查看有哪些許可權。
注意事項:
Linux用戶分三種,超級用戶,普通用戶,偽用戶,超級用戶擁有所有許可權,偽用戶一般和進程相關,無需登錄系統,所以常說的管理用戶許可權指的是管理Linux中普通用戶的許可權。