SSH-PuTTY–詳細使用教程(四)

最近做SSH代理,在網上搜尋了一些教程,在Putty的使用方面,下面的教程堪稱最全面詳細了,也轉來供有需要的朋友的參考,自己也做一份記錄保存以便日後參考。全文教程分四個部份發布,這是第四部分。 原文摘自:樂趣思 Windows下SSH客服端PuTTY–詳細使用教程(四)

用 SSH 來傳輸文件

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

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

PSCP 通過 SSH 連接,在兩台機器之間安全的傳輸文件,可以用於任何 SSH(包括 SSH v1、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

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)

所以 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 的許可權執行

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

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 : https://filezilla.sf.net
WinSCP : https://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 代理了,不用擔心從我們的機器到主機有被監聽的可能了。

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)
SSH-PuTTY–詳細使用教程(四)
SSH-PuTTY–詳細使用教程(四)
知道是怎麼回事么?

Tips(小技巧)

安全、方便的使用 VNC,遠程連接 VNC 不需要密碼
有關 VNC 的主題按理說不應該寫在這裡,可是通過一點小小的技巧,可以讓我們安全、方便的使用 VNC。我們多數情況下用 Windows 遠程登錄 Linux 桌面的方法不外乎 X11 forwarding 和 VNC,有關 X11 轉發的內容參照前面的部分,還有關於 X11 轉發和 VNC 哪個方便,這裡就不再啰嗦說這些了,自己試一試就知道了。
在遠程機器上啟動 vnc 服務的方法很簡單,直接使用命令 vncserver 了。如果是第一次使用這個命令,還會提示輸入一個口令。注意了,這個口令是用來遠程連接 VNC 服務端用的,不是登錄口令,著兩個口令可不一樣。如果想修改 vnc 的連介面令,使用命令 vncpasswd 就可以搞定,用法和 passwd 一樣。哎哎,等等。標題上不是寫的「遠程連接 VNC 不需要密碼」么?為什麼這裡還是需要連接密碼?不要著急,慢慢聽我講。前面說的方法就是最常用的方法了,既然連接 VNC 的
時候需要 密碼,那就帶來一個老問題。密碼太簡單了,容易被暴力破解掉。密碼太複雜了,人腦畢竟不是電腦,記不住。但是呢,為了安全,密碼還是要設置的長一點,我們 可以使用一些其他工具幫助我們管理這些又臭又長的密碼,比如 KeePass。現在要說的是,我們可以把 VNC 的連接密碼設置的好長好複雜,而且我們不用記,連接 VNC 的時候還不需要口令,不用擔心暴力破解等等。我們需要做如下四步操作:
一、 在本地機器上,用參數 /listen 來啟動 vncviewer,這個參數對於 RealVNC、TightVNC、UltraVNC 的客戶端都一樣。也就是要把 VNC 客戶端啟動在監聽模式下,我們要讓 VNC 伺服器主動連接我們,這樣我們就不需要 VNC 的連介面令了。
vncviewer /listen
二、創建一個 PuTTY 的反向隧道,源連線埠 5500,目標 localhost:5500,具體操作看前面的部分,別忘記點「Add」按鈕哦。
這個 5500 連線埠就是 vncviewer 的默認監聽連線埠。
SSH-PuTTY–詳細使用教程(四)
三、在遠程伺服器上用命令 vncserver 啟動 VNC 服務,如果前面已經啟動 VNC 服務了,就忽略這一步。
四、關鍵命令哦,在遠程伺服器上執行命令

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 的麻煩。

原文鏈接:https://allinfa.com/zh-tw/ssh-putty-detailed-tutorial-4.html
原文標題:SSH-PuTTY–詳細使用教程(四) - 美博園
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。

網 友 留 言

1條評論 in “SSH-PuTTY–詳細使用教程(四)”
  1. Keep posting stuff like this i really like it

這裡是你留言評論的地方


請留言


4 + 5 =
【您可以使用 Ctrl+Enter 快速發送】
Copyright © 2007 - 2026 , Design by 美博園. 著作權所有. 若有著作權問題請留言通知本站管理員. 【回到頂部】