Windows下SSH客服端PuTTY–詳細使用教程(四)(轉載)

用 SSH 來傳輸文件

PuTTY 提供了兩個文件傳輸工具 shell

• PSCP (PuTTY Secure Copy client)
• PSFTP (PuTTY SFTP client) apache

PSCP 經過 SSH 鏈接,在兩臺機器之間安全的傳輸文件,能夠用於任何 SSH(包括 SSH v一、SSH v2) 服務器。PSFTP 則是 SSH-2 中新增的特性,使用的是新的 SFTP 協議,使用上與傳統的 FTP 相似。事實上 PSCP 若是發現 SFTP 可用,PSCP 就會使用 SFTP 協議來傳輸文件,不然仍是 SCP 協議。PSFTP 與 PSCP 相比,PSFTP 的優勢是能夠與服務器進行交互,遍歷服務器上的文件系統,在一個會話中上傳或下載多個文件。而 PSCP 只能一次傳輸一個文件,傳輸完畢後馬上終止會話。

PSCP 的使用
瀏覽器

在控制檯直接執行 pscp 能夠看到幫助
C:>pscp
PuTTY Secure Copy client
Release 0.58
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
pscp [options] -ls [user@]host:filespec
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-p preserve file attributes
-q quiet, don’t show statistics
-r copy directories recursively
-v show verbose messages
-load sessname Load settings from saved session
-P port connect to specified port
-l user connect with specified username
-pw passw login with specified password
-1 -2 force use of particular SSH protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for authentication
-batch disable all interactive prompts
-unsafe allow server-side wildcards (DANGEROUS)
-sftp force use of SFTP protocol
-scp force use of SCP protocol tomcat

C:>
能夠看出 PSCP 的使用是很簡單的,把經常使用的幾個選項說一下: 安全

• -q 安靜模式,傳輸文件時什麼也不顯示,不然會顯示出文件的傳輸進度,默認是關閉的
• -P port 指定服務器的 SSH 端口,注意這個是大寫字母 P,默認是 -P 22,若是主機的 SSH 端口就是 22,就不
用指定了
• -l user 指定以哪一個用戶的身份登陸主機,若是沒有指定,則 PSCP 會在 PuTTY 保存的同名 Session 中得到默認
的用戶名稱。用戶名稱也能夠和主機名稱寫在一塊兒,用 @ 分割開,好比:username@server
• -pw passwd 指定登陸時所用的口令爲 passwd
• -i keyfile 就是指定登陸時所用的密鑰文件
• 最後面指定的主機名也能夠是 PuTTY 中保存的 Session 名稱。好比咱們在 PuTTY 中保存了一個名爲foobarserver 的會話,而咱們所在的網絡又的確沒有名爲 foobarserver 的主機名稱。而在這個 foobarserver會話中保存的主機名稱是 demo-server,保存的自動登陸的用戶是 taylor。那麼用命令 服務器

pscp c:autoexec.bat foobarserver:backup/ 網絡

就把本地的 c:autoexec.bat 複製到了主機 demo-server 上的用戶 taylor 所在的主目錄下的 backup 子目錄中(這個路徑多是 /home/taylor/backup) session

因此 PSCP 大體用法的例子就是:
pscp -P 22 -i c:pathyour-private-key.ppk -C username@server:/remote/path/
下面仍是用一些實例來講明會比較簡單一些:
把本地的 C:pathfoo.txt 複製到遠程主機 192.168.6.200 的 /tmp 目錄下
pscp c:pathfoo.txt 192.168.6.200:/tmp
把本地的 C:pathfoo.txt 複製到主機 192.168.6.200 的 /tmp 目錄下,可是以主機上的用戶 taylor 的權限執行 app

pscp c:pathfoo.txt taylor@192.168.6.200:/tmp
或者是 ssh

pscp -l taylor c:pathfoo.txt 192.168.6.200:/tmp
把本地的 C:pathfoo.txt 傳送到主機 192.168.6.200 的 /tmp 目錄下,可是主機的 SSH 端口是 3122

pscp -P 3122 c:pathfoo.txt 192.168.6.200:/tmp
把本地的 C:pathfoo.txt 複製到主機 192.168.6.200 的用戶 taylor 的主目錄下

pscp c:pathfoo.txt taylor@192.168.6.200:.
把主機 192.168.6.200 上的用戶 taylor 主目錄下的全部 *.tgz 文件拷貝到本地的 c:backup 目錄中,若是 SSH 版本是
SSH v1,那這個命令就會出錯。

pscp taylor@192.168.6.200:*.tgz c:backup

再來看看 PSFTP

在控制檯執行命令 psftp -h,能夠獲得 psftp 的幫助

C:>psftp -h
PuTTY Secure File Transfer (SFTP) client
Release 0.58
Usage: psftp [options] [user@]host
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-b file use specified batchfile
-bc output batchfile commands
-be don’t stop batchfile processing if errors
-v show verbose messages
-load sessname Load settings from saved session
-l user connect with specified username
-P port connect to specified port
-pw passw login with specified password
-1 -2 force use of particular SSH protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for authentication
-batch disable all interactive prompts

C:>
用法與 PSCP 大同小異,雖然有個 -load 選項,其實這個沒啥用,後面用主機名的時候,與 PSCP 同樣直接用上會話名稱就能夠了。
用 PSFTP 登陸到服務器上之後,操做與 FTP 差很少,這裏簡單的說一下吧:

• open 登陸主機
open [username@]<sessname|hostname|ip> [port]
好比:
o open taylor@demo-server 3022
就是以用戶 taylor 的身份,登錄到主機 demo-server 上,SSH 端口是 3022
o open demo-server
登錄 demo-server,這裏的 demo-server 能夠是PuTTY 中已經保存的會話名稱,也能夠是主機的名
稱,若是主機名稱與會話名稱相同,以會話名稱爲準。
• close 關閉 SFTP 鏈接
這個沒啥說的,close 就關閉了 SFTP 鏈接
• quit 結束本次的 SFTP 會話
也沒啥用法,就是關閉了 PSFTP 這個程序
• help [command] 幫助
直接打 help 就能夠看到幫助指令,後面指定上 一個命令就能夠查看該命令的幫助,好比: help open
• cd [directory] 改變當前目錄
• pwd 察看當前目錄
• lcd [directory] 改變本地目錄
• lpwd 察看本地當前目錄
• get [-r] <filename|directory> 從服務器下載一個文件/目錄,這個命令不能用通配符,參數 -r 能夠遞歸下載整個
目錄
• put [-r] <filename|directory> [dest] 把文件/目錄上傳到服務器,這個命令不能用通配符,參數 -r 能夠遞歸上傳
整個目錄
• mget [-r] <filename|directory> 從服務器下載一批文件/目錄,能夠用通配符,-r 的含義與 get 同樣
• mget [-r] <filename|directory> [dest] 把一批文件/目錄上傳到服務器,能夠用通配符,-r 的含義與 put 同樣
• reget [-r] <filename|directory> 從服務器續傳下載一個文件/目錄,這個命令不能用通配符,-r 的含義與 get 一

• reput [-r] <filename|directory> [dest] 把一批文件/目錄續傳上傳到服務器,這個命令不能用通配符,-r 的含義
與 put 同樣
• dir [directory] 列目錄
• ls 和 dir 同樣
• chmod [file|directory] 改變文件的權限,與 Unix 的 chmod 命令相似
• del <filename> 刪除文件,要注意的是 del 只能刪除文件
• rm 與 del 同樣
• mkdir <new-directory-name> 建立一個目錄
• rmdir <directory> 刪除一個空目錄,只有空目錄才能夠被刪除
• mv <source-file|source-directory> <dest-file|dest-directory> 更名/移動。若是源和目的都是文件或目錄,則是
更名。若是目的是目錄的話,則是移動。
• ! 在本地命令前加一個感嘆號,就能夠直接執行

其餘可選的 SFTP 客戶端

FileZilla : http://filezilla.sf.net
WinSCP : http://www.winscp.net

用 Plink 更方便快捷的執行遠程主機上的命令

Plink 是 PuTTY 的命令行鏈接工具,主要用於自動化工做的處理。
直接在控制檯執行 plink,能夠看到 Plink 的幫助

C:>plink
PuTTY Link: command-line connection utility
Release 0.58
Usage: plink [options] [user@]host [command]
("host" can also be a PuTTY saved session name)
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-v show verbose messages
-load sessname Load settings from saved session
-ssh -telnet -rlogin -raw
force use of a particular protocol
-P port connect to specified port
-l user connect with specified username
-batch disable all interactive prompts
The following options only apply to SSH connections:
-pw passw login with specified password
-D [listen-IP:]listen-port
Dynamic SOCKS-based port forwarding
-L [listen-IP:]listen-port:host:port
Forward local port to remote address
-R [listen-IP:]listen-port:host:port
Forward remote port to local address
-X -x enable / disable X11 forwarding
-A -a enable / disable agent forwarding
-t -T enable / disable pty allocation
-1 -2 force use of particular protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for authentication
-m file read remote command(s) from file
-s remote command is an SSH subsystem (SSH-2 only)
-N don’t start a shell/command (SSH-2 only)

C:>
看上去 Plink 的使用方法、參數與PSCP、PSFTP 都很相似。

• -P port 指定服務器的 SSH 端口,注意這個是大寫字母 P,默認是 -P 22,若是主機的 SSH 端口就是 22,就不用指定了
• -l user 指定以哪一個用戶的身份登陸主機,若是沒有指定,則 PSCP 會在 PuTTY 保存的同名 Session 中得到默認的用戶名稱。用戶名稱也能夠和主機名稱寫在一塊兒,用 @ 分割開,好比:username@server
• -pw passwd 指定登陸時所用的口令爲 passwd
• -i keyfile 就是指定登陸時所用的密鑰文件
• -m file 若是執行的命令不少的話,能夠把命令寫到文件中,而後用這個參數來指定

仍是用一些實際的例子來講明一下 Plink 吧
還記得前面說到 PuTTY 的自動執行命令那個配置麼?在說到那個配置的時候,咱們演示了一個簡單的 Tomcat 從新啓動的命令,這個命令是要寫在 PuTTY 的 Remote command 裏面去。如今咱們用 Plink 來實現一樣的功能:
假設鏈接的主機是 192.168.6.200,SSH 的端口是 3022,用戶是 taylor:

plink -P 3022 taylor@192.168.6.200 export CATALINA_HOME="~/apache-tomcat-5.5.17";export JAVA_HOME="~/jdk1.5.0_07";export PATH=$JAVA_HOME/bin;$PATH ; cd $CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail -f $CATALINA_HOME/logs/catalina.out

若是在 PuTTY 中保存了一個名爲 192.168.6.200 的會話,注意,這個會話的名稱與主機 IP 同樣,在會話中已經正確保存
了端口 3022,指定了默認的用戶是 taylor,如今這個命令就能夠簡化爲:

plink 192.168.6.200 export CATALINA_HOME="~/apache-tomcat-5.5.17";export JAVA_HOME="~/jdk1.5.0_07";export
PATH=$JAVA_HOME/bin;$PATH ; cd $CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail –f $CATALINA_HOME/logs/catalina.out

用 date 命令查看一下主機上的時間,而且格式化輸出:

plink 192.168.6.200 date "+%F %T"
你們實際執行一下命令看看,會發現,這個命令並無返回咱們指望的結果,而是返回了一個錯誤:

C:>plink 192.168.6.200 date "+%F %T"
date: too many non-option arguments: %T
Try `date –help’ for more information.
可 是在服務器上直接執行命令 date "+%F %T",的確是正確無誤的,哪裏出了問題呢?這是由於Windows 的控制檯會把兩個雙引號之間的字符串做爲一個參數傳遞給被執行的程序,而不會把雙引號也傳遞給程序。咱們作這樣一個小小的實驗來講明一下這個問題:
好比在 c:tmp 文件夾裏創建三個文件夾,名稱分別爲:"foo"、"bar"、"foo bar"。而後在 foo 這個文件夾裏面創建一個名爲「foo.log」的空文件,在「bar」這個文件夾裏創建一個名爲「bar.log」的空文件,在「foo bar」這個文件夾裏創建一個名爲「foo-bar.log」的空文件。
而後在控制檯下進入 c:tmp 這個文件夾,執行以下命令:

dir foo bar
結果是列出「foo bar」這個文件夾裏的內容,仍是分別列出「foo」和「bar」文件夾裏的東西呢?正確答案是後者。要想正確列出「foo bar」文件夾裏的東西,就須要用雙引號把"foo bar"引發來

C:tmp>dir foo bar
Volume in drive C is System
Volume Serial Number is 9C51-A51C

Directory of C:tmpfoo

2006-11-22 09:48 <DIR> .
2006-11-22 09:48 <DIR> ..
2006-11-16 11:58 0 foo.log
1 File(s) 0 bytes

Directory of C:tmpbar

2006-11-22 09:48 <DIR> .
2006-11-22 09:48 <DIR> ..
2006-11-16 11:58 0 bar.log
1 File(s) 0 bytes
2 Dir(s) 1,107,345,408 bytes free

C:tmp>dir "foo bar"
Volume in drive C is System
Volume Serial Number is 9C51-A51C

Directory of C:tmpfoo bar

2006-11-22 09:48 <DIR> .
2006-11-22 09:48 <DIR> ..
2006-11-16 11:58 0 foo-bar.log
1 File(s) 0 bytes
2 Dir(s) 1,107,345,408 bytes free

C:tmp>
說到這裏,就會明白上面的那個命令 plink 192.168.6.200 date "+%F %T" 其實在主機上執行的真實命令是 date +%F %T,而不是命令行中指定的 date "+%F %T"。不過還好,Windows 的控制檯可不認得單引號,因此上面那個命令的正確用法應該是:

c:>plink 192.168.6.200 date ‘+%F %T’
2006-11-22 09:39:57
我常常須要登陸到服務器上把 ADSL 從新撥號,能夠把下面的命令寫到一個文本文件中,好比保存到了
C:adsl-restart.command.txt

echo "stoping…"
/sbin/adsl-stop
echo "starting…"
/sbin/adsl-start
echo "done."
/sbin/adsl-status
而後執行以下命令:

plink -m c:adsl-restart.command.txt root@192.168.6.251
我常常要查看 Tomcat 的運行日誌

plink taylor@192.168.6.200 tail -f ~/apache-tomcat-5.5.17/logs/catalina.out
天天都要看服務器上的剩餘空間,就用這個命令:

plink taylor@192.168.6.200 df -k
假設 www.chaifeng.com 鏈接着另一個網段 10.204.26.0,有臺內網IP 爲 10.204.26.21 的 Solaris 8 主機只能用telnet 登陸,爲了防止被監聽,咱們能夠用 Plink 創建一個隧道,隧道開放 120 秒鐘,若是隧道沒有被使用,就自動斷開鏈接,而後咱們在本地就能夠用命令 telnet localhost 2623 的安全登陸那臺 Solaris 8 主機了。

plink -L 2623:10.204.26.21:23 www.chaifeng.com sleep 120
在主機 www.chaifeng.com 上正在運行着 tor,默認的監聽地址是 127.0.0.1:9050,用 Plink 創建一個隧道,而後瀏覽器上配置代理服務器爲 127.0.0.1,端口是 9050,這樣就可以安全的使用 tor 代理了,不用擔憂從咱們的機器到主機www.chaifeng.com 有被監聽的可能了。

plink -C -N -L 9050:127.0.0.1:9050 taylor@www.chaifeng.com
結合上 PSCP 咱們還能夠完成文件的天天備份

plink taylor@192.168.6.200 tar jcf $(date ‘+documents.%F.tar.bz2′) ~/documents
pscp taylor@192.168.6.200:$(date ‘+documents.%F.tar.bz2′) c:backup
plink taylor@192.168.6.200 rm -f $(date ‘+documents.%F.tar.bz2′)
如 果把這些經常使用的操做寫成批處理文件,到時候要重啓一下 Tomcat,或者立刻察看一下 Tomcat 日誌,再或者只是要把ADLS 從新撥號如下,只須要用鼠標一雙擊這個批處理文件,稍等一下就自動完成了。不比你打開 PuTTY,登陸到服務器上,而後再一個一個的執行命令,最後還得註銷來的方便快捷麼?再懶一些,把自動備份的批處理放到計劃任務裏面,天天定時完成,哈 哈,有時間上網找些好玩的東西了,不用天天忙於這些繁雜重複的命令中了。

用假象去迷惑敵人

若是我說 Google 的服務器也開放了 SSH,可是隻有特定的 IP 能夠鏈接上去,不信麼?(聲明:下面的圖片都未經修改,
我以 Google 的名義發誓,絕對沒有 PS)
image
image
知道是怎麼回事麼?

Tips(小技巧)

安全、方便的使用 VNC,遠程鏈接 VNC 不須要密碼
有關 VNC 的主題按理說不該該寫在這裏,但是經過一點小小的技巧,可讓咱們安全、方便的使用 VNC。咱們多數狀況下用 Windows 遠程登陸 Linux 桌面的方法不外乎 X11 forwarding 和 VNC,有關 X11 轉發的內容參照前面的部分,還有關於 X11 轉發和 VNC 哪一個方便,這裏就再也不囉嗦說這些了,本身試一試就知道了。
在遠程機器上啓動 vnc 服務的方法很簡單,直接使用命令 vncserver 了。若是是第一次使用這個命令,還會提示輸入一個口令。注意了,這個口令是用來遠程鏈接 VNC 服務端用的,不是登陸口令,着兩個口令可不同。若是想修改 vnc 的鏈接口令,使用命令 vncpasswd 就能夠搞定,用法和 passwd 同樣。哎哎,等等。標題上不是寫的「遠程鏈接 VNC 不須要密碼」麼?爲何這裏仍是須要鏈接密碼?不要着急,慢慢聽我講。前面說的方法就是最經常使用的方法了,既然鏈接 VNC 的
時候須要 密碼,那就帶來一個老問題。密碼太簡單了,容易被暴力破解掉。密碼太複雜了,人腦畢竟不是電腦,記不住。可是呢,爲了安全,密碼仍是要設置的長一點,咱們 可使用一些其餘工具幫助咱們管理這些又臭又長的密碼,好比 KeePass。如今要說的是,咱們能夠把 VNC 的鏈接密碼設置的好長好複雜,並且咱們不用記,鏈接 VNC 的時候還不須要口令,不用擔憂暴力破解等等。咱們須要作以下四步操做:
1、 在本地機器上,用參數 /listen 來啓動 vncviewer,這個參數對於 RealVNC、TightVNC、UltraVNC 的客戶端都同樣。也就是要把 VNC 客戶端啓動在監聽模式下,咱們要讓 VNC 服務器主動鏈接咱們,這樣咱們就不須要 VNC 的鏈接口令了。
vncviewer /listen
2、建立一個 PuTTY 的反向隧道,源端口 5500,目標 localhost:5500,具體操做看前面的部分,別忘記點「Add」按鈕哦。
這個 5500 端口就是 vncviewer 的默認監聽端口。
image
3、在遠程服務器上用命令 vncserver 啓動 VNC 服務,若是前面已經啓動 VNC 服務了,就忽略這一步。
4、關鍵命令哦,在遠程服務器上執行命令

vncconfig -display :1 -connect localhost
說一下兩個個關鍵參數,一個是 display 後面的 :1 ,這是鏈接到第一個 vnc 實例上。另外一個就是 connect 參數後面的localhost,既然咱們是在遠程機器上輸入的這個命令,那很顯然,鏈接的就是遠程機器。別忘了,咱們在此以前設置了反向的 SSH 隧道,鏈接遠程機器的本地 5500 端口,其實鏈接的就是咱們本身機器的 5500 端口。
哈,而後你就會發現什麼密碼也不用輸入,就直接鏈接上遠程的 VNC 服務了。不過呢,這四步操做確實有些麻煩,懶人的
第一要旨就是能有多懶就要多懶。
第一步操做咱們能夠在 Windows 的啓動菜單你裏放一個 vncviewer 的快捷方式,別忘了 /listen 參數。
第二步操做能夠直接保存到 PuTTY 的會話裏面,參考前面的內容。
第三步就沒啥子好說的,只要機器沒有重啓過,這個 VNC 服務就一直能用。
第 四步的這個命令,咱們能夠在 PuTTY 的 Connection->SSH 的選項裏的 「Remote command」 裏填寫上 「vncconfig-display :1 -connect localost」 ,而後一樣也是保存到 PuTTY 的會話裏。之後只要雙擊一下那個 PuTTY 的會話,咱們的VNC 窗口就會自動打開。
第二步和第四步操做也能夠用一個命令來代替,以下:

plink.exe -R 5500:localhost:5500 guantouping "vncconfig -display :1 -connect localhost"
命令參數中的那個 「guantouping」 是 PuTTY 保存的會話名,也能夠是遠程機器主機名,把這個命令作成一個快捷方式,雙擊直接打開 VNC。

FAQ(常見問題)

我在 PuTTY 官方網站下載的,但是執行 PuTTY、Pagent、PuTTYgen 時老是出錯,而命令行執行的這幾個卻沒問題這種情形我也碰到過,一個解決的辦法就是去下載最新版,或許你碰巧下載的是舊版本。另一個解決辦法就是,建立 三個擴展名爲 .manifest 的文本文件,而後把這三個文件複製到 PuTTY 的目錄中,文件內容分別以下:把下面的內容複製到記事本中,文件名保存爲:PAGEANT.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!– This is present purely to make Visual Styles in XP work better.
See 20020104174954.A12067@imsa.edu. –>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="Pageant"
version="0.0.0.0" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<!– Load Common Controls 6 instead of 5 to get WinXP nativelooking
controls in the client area. –>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>
把下面的內容複製到記事本中,文件名保存爲:PUTTY.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!– This is present purely to make Visual Styles in XP work better.
See 20020104174954.A12067@imsa.edu. –>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="PuTTY"
version="0.0.0.0" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<!– Load Common Controls 6 instead of 5 to get WinXP nativelooking
controls in the client area. –>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>
把下面的內容複製到記事本中,文件名保存爲:PUTTYGEN.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!– This is present purely to make Visual Styles in XP work better.
See 20020104174954.A12067@imsa.edu. –>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="PuTTYgen"
version="0.0.0.0" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<!– Load Common Controls 6 instead of 5 to get WinXP nativelooking
controls in the client area. –>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>
屏幕輸出太快了,怎麼能暫停一下?
Ctrl+S 快捷鍵能夠暫停終端,Ctrl+Q 恢復。

怎麼翻頁?
Shift+PageUp/PageDown 一頁一頁的翻,Ctrl+PageUp/PageDown 則是一行一行的。

不是說 PSCP 一次只能傳輸一個文件麼?爲何我發現能傳輸不少個?
那是由於 PSCP 發現 SFTP 協議可用,優先使用 SFTP 協議來傳輸文件爲何執行了 pscp、psftp、plink 這些命令老是說錯誤的命令呢?
應該把 PuTTY 所在的路徑添加到 PATH 環境變量中。你能夠編輯 c:autoexec.bat 這個文件,在最後增長一行,把c:pathtoputty 換成你的真實路徑
set PATH=c:pathtoputty;%PATH%
在登陸的時候出現 "Proxy error: 407 Proxy authorization require" 的錯誤提示
這 是由於配置的代理服務器須要認證,而咱們沒有填寫正確的用戶名或口令。若是用戶名填寫的是相似 DOMAIN/username的形式,能夠嘗試把 DOMAIN/ 去掉,僅僅填寫 username 再試一試,還有一種可能性就是代理服務器禁止咱們訪問 22 目標端口。

每次開機後我都要先打開 Pagent,而後再添加個人私鑰,還要輸入私鑰密碼,太麻煩了,有沒有簡單一點的辦法呢?很遺憾,比較輕鬆的辦法就是把 Pagent 和 .ppk 文件關聯,而後在開始的啓動項裏添加一個私鑰的快捷方式,這樣開機後咱們只須要輸入一下密碼就OK 了。若是想把輸入密碼也省掉,唉唉唉,怎麼比我還懶呢?若是你的私鑰密碼真的是很長很長,那你仍是藉助第三方工具吧,建議用 KeePass 吧,KeePass 能夠用命令行啓動省掉輸入密碼和選擇 keyfile 的麻煩。

相關文章
相關標籤/搜索