當前位置:首頁 » 文件傳輸 » sftp上傳
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sftp上傳

發布時間: 2022-01-25 05:48:33

❶ channelsftp 怎樣將位元組流上傳到伺服器

這個要看你的源sftp伺服器使用的是什麼了,如果是linux之類的,可以所以sftp得命令行工具,如果是serv-u之類的windows的,則需要第三方工具了。我用的是小鳥雲伺服器,感覺挺好的。

❷ 關於java的sftp上傳的問題!

具體拋出什麼異常呢

❸ SFTP 怎麼往伺服器上上傳整個文件夾

使用SecureSRT中的SFTP傳遞文件夾時,有個小細節值得注意一下:
1)在文件夾名dirname後加上'/',傳輸後,目標位置沒有新建文件夾dirname,只有dirname文件夾下的各個文件。

如:

sftp> get -r smsrc/

2)在文件夾名dirname後不加'/',傳輸後,目標位置新建文件夾dirname,所有文件位置新建文件夾dirname下。

如:

sftp> get -r smsrc

❹ 如何寫一個shell腳本用sftp上傳文件

主要步驟如下:1.為運行shell腳本的本地用戶生成密鑰對
2.將其中的公鑰分發到sftp欲登錄的遠程伺服器上
3.編寫並以上面的本地用戶運行shell腳本
一.生成密鑰對
在shell腳本中使用sftp時必須用到密鑰對(公鑰和私鑰).可使用下列方式生成(SSH 2.X版本),這里本地用戶記為:local_user:
$ ssh-keygen -dsa
屏幕提示:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/local_user/.ssh/id_dsa):
# 按回車保存為: /home/local_user/.ssh/id_dsa,即當前用戶local_user的私鑰
Enter passphrase (empty for no passphrase):
# 按回車,表示讀取密鑰時不需要密鑰的密碼
Enter same passphrase again:
# 確認密鑰的密碼,必須和上面的輸入相同
Your identification has been saved in /home/local_user/.ssh/id_dsa.
# 私鑰保存信息
Your public key has been saved in /home/local_user/.ssh/id_dsa.pub.
# 公鑰保存信息
The key fingerprint is:
ec:41:e8:08:38:0b:f8:1e:bc:92:98:32:fc:d7:69:7d ...
# 密鑰指紋
二.分發公鑰
為了使用密鑰,必須將公鑰分發到欲登錄的遠程伺服器上,這里遠程伺服器記為remote_host,欲登錄的遠程用戶記為remote_user
1.公鑰到欲登錄的遠程伺服器的遠程用戶的家目錄下,例如:
id_dsa.pub到remote_host:/home/remote_user/.ssh/
若目錄/home/remote_user/.ssh/不存在,請先創建之.
2.將來的公鑰文件改名為authorized_keys
3.修改公鑰文件的訪問許可權
chmod 644 authorized_keys
三.示例
目標:
從遠程伺服器remote_host:/home/remote_user/data/
傳送下列文件到本地計算機的當前目錄: /home/local_user/data/:
20050201
20050202
20050203
20050204
20050205
方式1: 批模式
sftp提供了一個選項-b,用於集中存放sftp命令(該選項主要用於非交互模式的sftp).因此對於上面的目標,可以生成如下的命令文件:
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
這里存為: sftp_cmds.txt
說明: get命令前加一個"-"以防止其執行錯誤時sftp執行過程被終止.
以下為腳本示例:
#!/bin/sh
sftp -b ./sftp_cmds.txt remote_user@remote_host
方式二:
#!/bin/sh
sftp remote_user@remote_host << EOF
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
EOF

❺ linux怎麼給用戶許可權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。

❻ 如何把sftp伺服器上的文件上傳到對方sftp伺服器上

就先用你的上傳方法傳到你的sftp伺服器上,再執行上傳到對方的sftp上

❼ java 實現sftp上傳文件 都有哪些方式

JSch支持三種文件傳輸模式:

OVERWRITE 完全覆蓋模式,這是JSch的默認文件傳輸模式,即如果目標文件已經存在,傳輸的文件將完全覆蓋目標文件,產生新的文件。
RESUME
恢復模式,如果文件已經傳輸一部分,這時由於網路或其他任何原因導致文件傳輸中斷,如果下一次傳輸相同的文件,

則會從上一次中斷的地方續傳。

APPEND 追加模式,如果目標文件已存在,傳輸的文件將在目標文件後追加。

❽ 如何設置通過sftp將文件上傳到linux指定 工具指定根目錄路徑

如果是window下上傳到linux,可以安裝個flashfxp軟體。輸入用戶密碼。就可以象ftp一樣上傳文件到linux里。。

如果是linux傳linux。。。
直接使用sftp ip 輸入用戶密碼,然後用cd ls put get等命令就可以把文件傳到相應目錄
具體命令參數可以輸入sftp --help 就可以參看了

❾ 怎樣將本地文件上傳到linux的sftp

第一種方式:
上傳文件只需在shell終端模擬器中輸入命令「rz」,即可從彈出的對話框中選擇本地磁碟上的文件,利用Zmodem上傳到伺服器當前路徑下。
下載文件只需在shell終端模擬器中輸入命令「sz 文件名」,即可利用Zmodem將文件下載到本地某目錄下。
通過「File Transfer」可以修改下載到本地的默認路徑。設置默認目錄:options-->session options-->file transfer。

第二種方式:用sftp