linuxsftp埠
Linux 從A用sftp連接B的命令是:sftp -oPort=60001 [email protected]。使用-o選項來指定埠號。-oPort=遠程埠號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/ 目錄下。
linuxftp遠程連接命令是:
1. 連接ftp伺服器:格式:ftp [hostname| ip-address]在linux命令行下輸入:ftp 192.168.26.66
伺服器詢問你用戶名和口令,分別輸入用戶名和相應密碼,待認證通過即可。
2、下載文件:下載文件通常用get和mget這兩條命令。a) get格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中。
3、上傳文件:a) put格式:put local-file [remote-file],將本地一個文件傳送至遠端主機中。
4、斷開連接:bye:中斷與伺服器的連接。ftp> bye (回車)。
❷ 怎麼開啟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 ssh可以 sftp不行
sftp用的ssh協議 這倆是一樣的 除非是ssh改了埠 你登陸sftp還是用原來默認的就不行了,不行可以截圖出來看看。推薦本書《linux就該這么學》不要錢的
❹ linux修改sftp埠號
修改sftp埠就是修改ssh埠 因為sftp用的ssh協議 修改ssh配置文件即可
想多學習linux可以看看《linux就該這么學》
❺ 伺服器把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
默認自帶,22 埠,默認開啟的,可以直接通過ip 的22 埠連接,登陸名默認可以通過root登陸。
ftp 連接時選擇sftp 協議。
❼ linux ftp 埠是多少
FTP服務埠號和操作系統無關。一般是20和21
vi
/etc/services
ftp-data
20/tcp
ftp-data
20/udp
#
21
is
registered
to
ftp,
but
also
used
by
fsp
ftp
21/tcp
20埠通常用於數據傳送
21埠用於FTP連接
❽ 如何在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協議地址是sftp windows server的是多少
SFTP的默認埠號是22。
要進行文件傳輸wincscp的文件協議需要是sftp。並且,linux系統要支持sftp協議。如果其他的sftp伺服器的埠號修改之後,可以通過-P來指定要通過哪個埠號連接。
❿ 如何用linux查看伺服器器的埠
在Linux中查找服務的埠
方法1:使用grep命令
要使用grep命令在Linux中查找指定服務的默認埠號,只需運行:
$grep<port>/etc/services
例如,要查找SSH服務的默認埠,只需運行:
$grep ssh/etc/services
就這么簡單。此命令應該適用於大多數Linux發行版。以下是我的Arch Linux測試機中的示例輸出:
ssh 22/tcp
ssh 22/udp
ssh 22/sctp
sshell 614/tcp
sshell 614/udp
netconf-ssh 830/tcp
netconf-ssh 830/udp
sdo-ssh 3897/tcp
sdo-ssh 3897/udp
netconf-ch-ssh 4334/tcp
snmpssh 5161/tcp
snmpssh-trap 5162/tcp
tl1-ssh 6252/tcp
tl1-ssh 6252/udp
ssh-mgmt 17235/tcp
ssh-mgmt 17235/udp
正如你在上面的輸出中所看到的,SSH服務的默認埠號是22。
讓我們找到Apache Web伺服器的埠號。為此,命令是:
$grep http/etc/services
#http://www.iana.org/assignments/port-numbers
http 80/tcp www www-http#WorldWideWeb HTTP
http 80/udp www www-http#HyperText Transfer Protocol
http 80/sctp#HyperText Transfer Protocol
https 443/tcp#http protocol over TLS/SSL
https 443/udp#http protocol over TLS/SSL
https 443/sctp#http protocol over TLS/SSL
gss-http 488/tcp
gss-http 488/udp
webcache 8080/tcp http-alt#WWW caching service
webcache 8080/udp http-alt#WWW caching service
[...]
FTP埠號是什麼?這很簡單!
$grep ftp/etc/services
ftp-data 20/tcp
ftp-data 20/udp
#21 is registered to ftp,but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
tftp 69/tcp
[...]
方法2:使用getent命令
如你所見,上面的命令顯示指定搜索詞「ssh」、「http」和「ftp」的所有埠名稱和數字。這意味著,你將獲得與給定搜索詞匹配的所有埠名稱的相當長的輸出。
但是,你可以使用getent命令精確輸出結果,如下所示:
$getent services ssh
ssh 22/tcp
$getent services http
http 80/tcp www www-http
$getent services ftp
ftp 21/tcp
如果你不知道埠名稱,但是知道埠號,那麼你只需將埠名稱替換為數字:
$getent services 80
http 80/tcp
要顯示所有埠名稱和埠號,只需運行:
$getent services