❶ 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用戶。
❷ xshell5怎麼上傳文件xftp
使用Xshell訪問Linux系統的時候,經常需要上傳和下載文件,文件傳輸軟體Xftp可以和Xshell很好的結合在一起使用。我們在操作Linux伺服器的時候都是先使用Xshell的,然後遇到需要上傳或下載文件的時候,再打開Xftp。下面就一起來學慣用Xshell關聯Xftp傳輸文件。
關聯Xftp傳輸文件的具體步驟如下:
1.打開Xshell軟體,然後連接上Linux伺服器,cd命令切換到一個指定的目錄。為了演示Xftp關聯的效果,這里我們切換到一個測試目錄。然後點擊如下圖所示的Xftp綠色的按鈕即可打開軟體。
圖6:下載文件
以上就是給大家介紹的用Xshell關聯Xftp傳輸文件的方法,關聯之後,就可以快速地對伺服器進行上傳和下載文件,這樣就可以提高工作效率。
❸ Xshell本地指令大全
很多軟體在使用過程中都有快捷鍵,當然xshell也有,有因為xshell是一款 安全終端模擬軟體 ,所以與普通的軟體有絲絲的區別,它的快捷鍵是以指令形式展現的。
圖1:xshell本地指令表現形式
一般來講,Xshell提示在未連接遠程主機的狀態下出現在終端屏幕上。連接會話後可按「Ctrl+Alt+]」以轉出本地提示。如要返回到遠程主機模式輸入「exit」或按「Ctrl+D」即可。
可使用如下指令:
|
指令
|
說明
|
| --- | --- |
|
help
?
|
在終端窗口顯示指令目錄。
|
|
new
|
打開新建會話屬性對話框。
|
|
open [ session ]
|
已指定「 session 」時連接到相應會話,未指定時打開會話對話框。
|
|
edit [ session ]
|
已指定「 session 」時打開相應會話的會話屬性對話框,未指定時打開默認會話的會話屬性對話框。
|
|
list
|
顯示當前作業directory可使用的會話相關信息和directory目錄。
|
|
cd
|
更改當前作業的directory。
|
|
clear
|
清除畫面、地址欄的歷史記錄、本地Shell命令提示的命令歷史記錄。
|
|
exit
quit
|
退出Xshell會話或返回到遠程主機。
|
|
ssh [ user @] host [ port ]
|
以ssh協議進行連接。
|
|
sftp [ user @] host [ port ]
|
以sftp協議進行連接。
|
|
telnet [ user @] host [ port ]
|
以telnet協議進行連接。
|
|
rlogin [ user @] host [ port ]
|
以rlogin協議進行連接。
|
|
ftp [ user @] host [ port ]
|
以ftp協議進行連接。
|
|
ipconfig
|
執行Windows的ipconfig命令。
|
|
ping host
|
執行Windows的ping命令。
|
|
tracert host
|
顯示至host的數據包路徑。
|
|
netstat
|
執行Windows의netstat命令。
|
|
nslookup
|
執行Windows의 nslookup 命令。
|
❹ linux定時通過shell腳本利用sftp命令上傳文件。需要手動輸入密碼,用openSSH-clients這個插件可以解決么
Linux系統提供多種不同的Shell以供選擇。
常用的有Bourne Shell(簡稱sh)、C-Shelll(簡稱csh)、Korn Shell(簡稱ksh)和Bourne Again Shell (簡稱bash)。
Bourne Shell是AT&T Bell實驗室的 Steven Bourne為AT&T的Unix開發的,它是Unix的默認Shell,也是其它Shell的開發基礎。Bourne Shell在編程方面相當優秀,但在處理與用戶的交互方面不如其它幾種Shell。
C Shell是加州伯克利大學的Bill Joy為BSD Unix開發的,與sh不同,它的語法與C語言很相似。它提供了Bourne Shell所不能處理的用戶交互特徵,如命令補全、命令別名、歷史命令替換等。但是,C Shell與BourneShell並不兼容。
Korn Shell是AT&T Bell實驗室的David Korn開發的,它集合了C Shell和Bourne Shell的優點,並且與Bourne Shell向下完全兼容。Korn Shell的效率很高,其命令交互界面和編程交互界面都很好。
Bourne Again Shell (即bash)是自由軟體基金會(GNU)開發的一個Shell,它是Linux系統中一個默認的Shell。Bash不但與Bourne Shell兼容,還繼承了C Shell、Korn Shell等優點
❺ 如何寫一個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
❻ 怎樣在SecureCRT的shell里用命令上傳下載文件(轉)
SecureCRT記住密碼的功能容易設置,於是偶這懶人,後來習慣了用SecureCRT,但其上傳文件功能偶一直沒弄明白過。之前一直用的是pshell,因為pshell有個功能強大的secureftp功能,打開之後,直接將目錄或文件拖到此窗口即可。SecureCRT卻沒有那麼方便。 1.在shell里直接使用命令 首先最好設置好本地與遠程主機傳輸文件的目錄,因為使用命令下載文件時是不會提示選擇下載的目標目錄的。 設置方法:本地目錄在 選項-》會話選項-》SFTP標簽 的本地目錄里設置。 目錄設置好之後就可以使用命令上傳和下載文件了 上傳命令:rz rz輸入後SecureCRT會打開一個文件選擇對話框,供用戶選擇需上傳的文件 下載命令:sz 可用sz -h 查看sz更多選項 用法很簡單,但是可惜,使用這兩命令不能傳輸目錄,只能是文件。 2.使用SecureCRT的SFTP功能 在已連接的遠程主機標簽上點擊右鍵選擇連接SFTP標簽頁即可建立SFTP的連接,這是一個使用命令的連接會話不提供圖形界面。 目錄轉換:遠程主機上: 可以使用所有shell中的目錄和文件操作命令:ls,pwd,cd等等來對 遠程主機上的目錄進行更改操作,不能使用vi等文件編輯工具 本地主機上:對本地目錄進行操作需在以上命令前加上"l",即 ls-》lls,pwd-》lpwd,cd-》lcd文件傳輸上傳文件: put file 上傳目錄:put -r dir 下載文件: get file 下載目錄:get -r dir 註:這里file可以使用*等通配符 如果是通過通道機登錄的某遠程主機,則SFTP就不可用了。例如通過10.10.20.124登錄的60.25.21.148,操作是在60.25.21.148上,直接右鍵建立SFTP連接是建立不起來的,因此只能使用上面的sz和rz的命令操作。