Linux如何通過代理連接sftp
Linux通過代理連接sftp
背景:應(yīng)用在內(nèi)網(wǎng),通過正向代理走vpn連接合作方sftp上傳文件。
通過代理連接sftp命令:
sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy proxyIp:proxyPort %h %p' -oPort=sftpPort sftpuser@password [user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.10.10.10:1080 %h %p' -oPort=2266 sftp@20.20.20.20
問題一:應(yīng)用日志報錯“proxy error: Forbidden”
應(yīng)用服務(wù)器通過代理連接合作方sftp報403,代理服務(wù)器上直接連接合作方sftp無異常。
2021-09-13 14:37:09.157 [pool-1-thread-1] INFO c.g.btp.domain.gn.service.SftpUploadAsynThread - postSftp_upload:ProxyHTTP: java.io.IOException: proxy error: Forbidden
[user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.8.174.5:1080 %h %p' -oPort=2266 cdkdsftp@10.10.20.103 Ncat: Proxy returned status code 403. ssh_exchange_identification: Connection closed by remote host Couldn't read packet: Connection reset by peer [user@ABC-L0001 ~]$
初步懷疑問題出在代理,查看squid.conf發(fā)現(xiàn)沒放行sftp端口,添加規(guī)則“acl SSL_ports port 2266”,通過代理連接還是報同樣的錯,仔細查看代理規(guī)則,發(fā)現(xiàn)先“deny !Safe_ports”,再“deny CONNECT !SSL_ports”
# Deny requests to certain unsafe ports http_access deny !Safe_ports # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports
再加一條規(guī)則“acl Safe_ports port 2266 # sftp”后,通過代理可正常連接合作方sftp。
acl SSL_ports port 443 acl SSL_ports port 2266 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 2266 # sftp
問題二:輸入密碼后報Connetction Closed
[user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.8.174.5:1080 %h %p' -oPort=2266 cdkdsftp@10.10.20.103 cdkdsftp@10.10.20.103's password: Connection Closed [user@ABC-L0001 ~]$
原因:密碼過期
Linux sftp遠程連接
SFTP(SSH File Transfer Protocol)安全文件傳送協(xié)議。有著與FTP幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。
SFTP與FTP主要區(qū)別
| FTP | SFTP | |
|---|---|---|
| 鏈接方式 | 使用TCP的21端口 | 通過SSH協(xié)議(TCP端口22) |
| 安全性 | 明文傳輸 | 使用加密傳輸認證信息和傳輸?shù)臄?shù)據(jù) |
| 效率 | 較高 | 較低 |
SFTP常用命令
登錄
- 以root用戶登錄sftp
sftp xxx.xxx.xxx.xxx
- 以xxx用戶登錄sftp
sftp xxx@xxx.xxx.xxx.xxx
- 使用-oPort選項來指定遠程端口號
sftp -oPort=60001 xxxx@xxx.xxx.xxx.xxx
- 查看當前目錄下文件
ls
- 進入指定目錄
cd [path]
- 查看當前目錄
pwd
- 下載文件到本地
get [remote] [local]
- 上傳文件
put [local] [remote]
- 創(chuàng)建文件夾
mkdir [remote]
- 刪除文件
rm [remote]
- 刪除文件夾
rmdir [remote]
- 退出sftp
quit / bye / exit
- 查看sftp版本
version
- 查看支持命令
help
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Ubuntu 16.04下提示boot分區(qū)空間不足的辦法
最近看了看/boot的大小,發(fā)現(xiàn)幾次升級后,大小不足,所以想擴容,一開始還想用磁盤操作,但上網(wǎng)查詢后發(fā)現(xiàn),磁盤操作實在風險太大,特別是雙系統(tǒng)的Linux,操作又是很麻煩,后來發(fā)現(xiàn)可以刪除多余的舊內(nèi)核來清理/boot,釋放空間。下面來看看詳細的解決方法吧。2017-02-02
VirtualBox下Centos6.8網(wǎng)絡(luò)配置教程
這篇文章主要為大家詳細介紹了VirtualBox下Centos6.8網(wǎng)絡(luò)配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
expect實現(xiàn)Linux自動登陸遠程機器腳本實例
expect?是由Don Libes基于Tcl(Tool Command Language )語言開發(fā)的,主要應(yīng)用于自動化交互式操作的場景,借助Expect處理交互的命令,可以將交互過程如:ssh登錄,ftp登錄等交互過程,寫到Shell腳本里以實現(xiàn)一些自動化操作。2022-12-12
Kali Linux配置動態(tài)/靜態(tài)IP實現(xiàn)方式
本文介紹了在Kali Linux上配置動態(tài)和靜態(tài)IP的方法,包括查看網(wǎng)卡接口名稱、編輯網(wǎng)絡(luò)接口配置文件、配置文件內(nèi)容添加、重啟網(wǎng)絡(luò)服務(wù)等步驟2026-04-04

