亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > 管理維護 > 正文

16條技巧讓你更高效使用SSH

2024-09-10 14:19:06
字體:
來源:轉載
供稿:網友

SSH有很多非??岬奶匦?,如何它是你每天的工作伴侶,那么我想你有必要了解以下16條高效使用SSH的秘籍,它們幫你節省的時間肯定會遠遠大于你用來配置它們的時間。

1. 多條連接共享

如果你需要在多個窗口中打開到同一個服務器的連接,而不想每次都輸入用戶名,密碼,或是等待連接建立,那么你可以配置SSH的連接共享選項,在本地打開你的SSH配置文件,通常它們位于~/.ssh/config,然后添加下面2行:

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

現在試試斷開你與服務器的連接,并建立一條新連接,然后打開一個新窗口,再創建一條連接,你會發現,第二條連接幾乎是在瞬間就建立好了。

Windows用戶

如果你是Windows用戶,很不幸,最流行的開源SSH客戶端Putty并不支持這個特性,但是Windows上也有OpenSSH的實現,比如這個Copssh,如果你覺得下面的一些技巧對你很有幫助,或許你應該試試Copssh。

文件傳輸

連接共享不止可以幫助你共享多個SSH連接,如果你需要通過SFTP與服務器傳輸文件,你會發現,它們使用的依然是同一條連接,如果你使用的Bash,你會發現,你甚至SSH甚至支持Tab對服務器端文件進行自動補全,共享連接選項對于那些需要借助SSH的工具,比如rsync,git等等也同樣有效。

2. 長連接

如果你發現自己每條需要連接同一個服務器無數次,那么長連接選項就是為你準備的:

ControlPersist 4h

現在你每次通過SSH與服務器建立連接之后,這條連接將被保持4個小時,即使在你退出服務器之后,這條連接依然可以重用,因此,在你下一次(4小時之內)登錄服務器時,你會發現連接以閃電般的速度建立完成,這個選項對于通過scp拷貝多個文件提速尤其明顯,因為你不在需要為每個文件做單獨的認證了。

3. 別再輸入密碼

如果你還在通過密碼方式登錄SSH,那么你或許應該試試SSH Keys,首先使用OpenSSH為自己聲稱一對密鑰:

$ ssh-keygen

跟隨指示,完成之后,你應該可以在你的.ssh目錄下看到兩個文件,id_rsa就是你的私鑰,而id_ras.pub則是你的公鑰,現在你需要將你的公鑰拷貝到服務器上,如果你的系統有ssh-copy-id命令,拷貝會很簡單:

$ ssh-copy-id smylers@compo.example.org

否則,你需要手動將你的公鑰拷貝到服務器上的~/.ssh/authorized_keys文件中:

$ < ~/.ssh/id_rsa.pub ssh clegg.example.org 'mkdir -p .ssh; cat >> .ssh/authorized_keys; chmod go-w .ssh .ssh/authorized_keys'

現在試試重新連接到SSH服務器,或是拷貝文件,是不是已經不需要再輸入密碼了?

為Putty配置SSH Key

Putty也可以使用SSH Key,從Putty網站下載PuttyGen和Pageant,然后使用PuttyGen生成你的密鑰,將公鑰拷貝到服務器的'.ssh/authorized_keys'目錄,然后運行Pageant,導入你的私鑰,讓它在后臺運行,險隘你就可以使用Putty通過公鑰直接登錄服務器了,你可以在Putty手冊的第8,9章了解關于這一特性的詳細介紹。

4. 連接中轉

有時候你可能需要從一個服務器連接另外一個服務器,比如在兩個服務器之間直接傳輸數據,而不用通過本地電腦中轉:

www1 $ scp -pr templates www2:$PWD

(順便說一下,當你需要在兩臺服務器間拷貝文件時,$PWD變量時非常有用的),因為即使你已經在兩臺服務器上添加了你本地電腦的公鑰,scp默認仍然會提示你輸入密碼:這是因為你用來作為跳板的那臺服務器上并沒有你的私鑰,所以,第二胎服務器會拒絕你的公鑰,但是一定不要通過將你的私鑰拷貝到中轉服務器上來解決這個問題,你可以使用agent forwarding來解決這個問題,只要在你的.ssh/config文件中加入下面這行代碼就可以了:

ForwardAgent yes

或者是在Putty中勾上“Allow agent forwarding”選項,現在你的本地SSH就變成了第一臺服務器的SSH代理,從第一臺服務器在連接其它服務器就變和和在你本地一樣簡單,注意,如果要開啟這個選項,前提是這個中間服務器值得你信任。

5. 省略主機名

輸入服務器的完整主機名來建立一個新的SSH連接實在是太乏味無聊了,尤其是當你有一組擁有相同域名但是子域名不同的服務器需要管理時,比如下面這樣:

* www1.example.com
* www2.example.com
* mail.example.com
* intranet.internal.example.com
* backup.internal.example.com
* dev.internal.example.com

或許你的網絡已經配置了可以直接使用短域名,比如intranet,但是如果你的網絡不支持,實際上你可以自己搞定這個問題,而不用求助網絡管理員。

解決辦法根據你用的操作系統而略有差異,下面是我的Ubuntu系統的配置:

prepend domain-search "internal.example.com", "example.com";

然后你需要重啟網絡:$ sudo restart network-manager

不同的系統,這兩條命令可能會略有差異。

5. 主機別名

你也可以在你的SSH配置中直接定義主機別名,就像下面這樣:

Host dev
HostName dev.internal.example.com

你還可以使用通配符來進行分組:

Host dev intranet backup
HostName %h.internal.example.com

Host www* mail
HostName %h.example.com

在Putty中你可以為每個主機名保存單獨的session,然后雙擊建立連接(但是它可能沒辦法支持通配符)。

7. 省去用戶名

如果你在遠程服務器上的用戶名和你本地的用戶名不同,你同樣可以在SSH配置中進行設置:

Host www* mail
HostName %h.example.com
User simon

現在就算我的本地用戶名是 smylers,我仍然可以這樣連接我的服務器:

$ ssh www2

SSH會使用simon賬戶連接你的服務器,同樣,Putty可以保存這個信息在你的session中。

8. 在服務器間跳轉

有些時候,你可能沒法直接連接到某臺服務器,而需要使用一臺中間服務器進行中轉,這個過程也可以自動化。首先確保你已經為服務器配置了公鑰訪問,并開啟了agent forwarding,現在你就可以通過2條命令來連接目標服務器,不會有任何提示輸入:

$ ssh gateway
gateway $ ssh db

然后在你的本地SSH配置中,添加下面這條配置:

Host db
HostName db.internal.example.com
ProxyCommand ssh gateway netcat -q 600 %h %p

現在你就可以通過一條命令來直接連接目標服務器了:

$ ssh db

這里你可能會需要等待長一點的時間,因為SSH需要進行兩次認證,,注意netcat也有可能被寫成nc或者ncat或者前面還需要加上g,你需要檢查你的中間服務器來確定實際的參數。

9. 突破網絡封鎖

有些時候,你使用的網絡可能只開放了80端口,或者它們封鎖了SSH端口(默認的22端口),這種情況下,你可以通過配置SSH服務器在80或者443端口進行監聽來突破封鎖,只需要編輯你的服務器的/etc/ssh/sshd_config文件:

Port 443

然后重啟SSH服務器:

$ sudo reload ssh

當然這樣做的前提是你的服務器沒有使用HTTS服務,但是實際上你只需要設置一臺服務器使用https端口就夠了,你但你可以訪問這臺服務器,你就可以使用我們前面提到的技術利用它作為跳板來訪問其它服務器,但是記住,你需要提前配置好這臺服務器(現在怎么樣?),這樣萬一當你身處一個只能訪問Web的網絡環境時,就可以省掉打電話讓其他人幫你配置中間服務器的麻煩了。

10. 穿越Web代理

有些時候,你所在的網絡不止封鎖SSH端口,它們有可能更進一步,只讓你通過Web代理來訪問網絡,幸運的是我們有一個叫做Corkscrew的程序可以通過Web代理在發送SSH數據。Corkscrew的使用非常簡單,一般我都是在需要時搜索,然后直接下載,跟隨網站上的指示,然后就搞定了,一般你需要這樣一條配置:

ProxyCommand corkscrew proxy.example.org 8080 %h %p

11. 遠程GUI

有時候通過本地的GUI程序來訪問遠程服務器的文件會非常有用,比如,編輯一副圖片,或者查看一個PDF文件,或者只是簡單的通過一個非命令行的編輯器來修改代碼,我發現GVim要比終端里的Vim更有用,因為我可以通過gvimopens打開一個新窗口來編輯文件,而用當前的SSH窗口繼續執行其它操作,不要要這樣做,你需要先在你的SSH配置中開啟一個叫做X forwarding的選項:

ForwardX11 yes

這個選項需要服務器配置才能起作用,服務器也需要開啟X forwarding,你可以在服務器的/etc/ssh/sshd_config中添加下面這個命令:

X11Forwarding yes

同時你還需要確保安裝了xauth,編輯器,圖片查看器以及其它的你需要運行的圖形化程序,這種方式只有在支持本地X服務器的操作提供才可以工作,mac和Windows上都有免費的X Server,你可能需要花些時間配置它們,相比之下,切換到Linux相對會更容易一下。

12.本地操作遠程文件

另一種讓遠程GUI程序顯示在本地的替代方案就是讓本地的GUI程序可以直接操作遠程文件,你可以通過SSHFS來實現,只需要創建一個空目錄,然后使用SSHFS將一個遠程目錄mount到這個目錄就可以了:

$ mkdir gallery_src
$ sshfs dev:projects/gallery/src gallery_src
$ cd gallery_src
$ ls

現在你就可以使用任何你喜歡的本地程序來便捷這個目錄中的文件了,它們看起來是在你的本地,但其實時遠程服務器上的文件,你可以使用fusermount命令來unmount這些文件,不要擔心記不住,它們就在sshfs手冊的頂上:

$ cd ..
$ fusermount -u gallery_src

SSHFS可以在Linux和OSX上工作,Windows用戶我目前還沒找到什么好辦法。

13. 通過Vim訪問遠程文件

Vim有一個內置的功能可以直接編輯遠程文件,需要借助SCP URL:

$ gvim scp://dev/projects/gallery/src/templates/search.html.tt

這中方式明顯不如SSHFS靈活,但是如果你只需要對遠程服務器的1,2個文件進行編輯時,這條命令就要更靈活一些了,并且可以在Windows上你也可以這樣做:

:help netrw-problems

14. 使用本地App連接遠程服務器

有時可能有些服務,比如數據庫或是Web服務器,它們運行在遠程服務器上,但是如果有用方式可以直接從本地程序連接它們,那會非常有用,要做到這一點,你需要用到端口轉發(port forwarding),舉個例子,如果你的服務器運行Postgres(并且只允許本地訪問),那么你就可以在你的SSH配置中加入:

Host db
LocalForward 5433 localhost:5432

現在當你連接你的SSH服務器時,它會在你本地電腦打開一個5433端口(我隨便挑的),并將所有發送到這個端口的數據轉發到服務器的5432端口(Postgres的默認端口),然后,只要你和服務器建立了連接,你就可以通過5433端口來訪問服務器的Postgres了。

$ ssh db

現在打開另外一個窗口,你就可以通過下面這條命令在本地連接你的Postgres數據庫了:

$ psql -h localhost -p 5443 orders

如果你想要使用服務器不支持的圖形化Postgres客戶端時,這條命令會顯得尤其有用:

$ pgadmin3 &

或者你有一個后臺的Web服務器,你不希望直接通過Internet訪問它,你也可以通過端口轉發來訪問它:

Host api
LocalForward 8080 localhost:80

現在連接到服務器:

$ ssh api

然后將瀏覽器指向你選擇的端口號:

$ firefox http://localhost:8080/

15. 減少延遲

如果每次連接服務器都意味著你需要等待幾十秒而無所事事,那么你或許應該試試在你的SSH配置中加入下面這條:

GSSAPIAuthentication no

如果這條命令有效的話,你應該通知你的系統管理員讓他在服務器上禁用這個選項,這樣其他人就不用再分別添加這條配置到它們的本地配置了。

16. 加速連接

如果你確保你和某個服務器之間的連接是安全的(比如通過公司內網連接),那么你就可以通過選擇arcfourencryption算法來讓數據傳輸更快一些:

Host dev
Ciphers arcfour

注意這個加速是以犧牲數據的“加密"性為代價的,所以如果你連接的是位于網上的服務器,千萬不要打開這個選項,并且確保你是通過VPN建立的連接。

開始行動吧!

以上就是我收集的高效使用SSH的技巧合集了,如果你還有更多技巧想要分享,記得通過Smylers@cpan.org或是通過@Smylers2來和我聯系。

現在就趕緊行動試試通過這些技巧來讓你的SSH更有效率吧!

-----------
本文來自:SSH Can Do That? Productivity Tips for Working with Remote Servers,作者:Smylers,翻譯l整理:@yuanyiz

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
26uuu日韩精品一区二区| 久久精品这里热有精品| 国内精品久久久久久中文字幕| 亚洲男女自偷自拍图片另类| 日韩精品免费在线观看| 欧美激情xxxx性bbbb| 国产精品第三页| 国产在线精品一区免费香蕉| 91久久国产精品91久久性色| 日韩在线视频网| 精品色蜜蜜精品视频在线观看| 成人羞羞国产免费| 欧美激情第三页| 亚洲国产精品国自产拍av秋霞| 日韩欧美国产激情| 欧美日韩在线另类| 日韩亚洲欧美成人| 欧美日韩中文字幕日韩欧美| 青草成人免费视频| 精品国内产的精品视频在线观看| 久久精品男人天堂| 久久久在线观看| 国产日韩欧美电影在线观看| 国产亚洲视频在线观看| 国产精品久久久久久久久久久久久| 亚洲影视九九影院在线观看| 久久久久久美女| 日产精品久久久一区二区福利| 亚洲女性裸体视频| 欧美一区视频在线| 国产在线一区二区三区| 国精产品一区一区三区有限在线| 美女少妇精品视频| 国产精品99一区| 日韩av手机在线| 国产欧美欧洲在线观看| 欧美黄色片免费观看| 久久国产色av| 亚洲一品av免费观看| 国产成人精品日本亚洲专区61| 亚洲在线www| 亚洲欧美另类中文字幕| 欧美精品少妇videofree| 91精品视频在线免费观看| 日韩毛片中文字幕| 91久久久久久久久久久| 国产精品香蕉国产| 亚洲成人激情小说| 精品久久久国产精品999| 91久久精品久久国产性色也91| 中文字幕日韩欧美| 91成人国产在线观看| 91爱视频在线| 精品久久久久久久久久国产| 亚洲精品第一页| 精品国产一区二区三区四区在线观看| 久久精品国产精品亚洲| 最新亚洲国产精品| 日韩亚洲国产中文字幕| 日韩网站在线观看| 日韩欧美国产激情| 欧美激情综合色| 97碰在线观看| 国产成人高潮免费观看精品| 亚洲毛片在线观看.| 日韩在线国产精品| 欧美成人午夜免费视在线看片| 日韩av网站大全| 国产精品美女视频网站| 人妖精品videosex性欧美| 777午夜精品福利在线观看| 精品国产一区二区三区久久狼黑人| 国产精品网红福利| 国产成人免费av电影| 欧美性猛交xxxx免费看漫画| 欧美精品久久久久久久久久| 亚洲男人天堂古典| 国产精品久久久久久搜索| 亚洲激情 国产| 欧美成人性生活| 欧美日韩在线观看视频| 亚洲九九九在线观看| 亚洲片国产一区一级在线观看| 亚洲高清久久久久久| 国产精品青草久久久久福利99| 在线视频国产日韩| 68精品国产免费久久久久久婷婷| 清纯唯美亚洲激情| 成人免费网站在线观看| 久久国产精品电影| 国产精品极品在线| 在线电影av不卡网址| 久久亚洲精品视频| 久久国产精品网站| 日韩欧美国产激情| 萌白酱国产一区二区| 欧美视频免费在线| 日韩一区视频在线| 色综合久久88| 日韩电影免费在线观看| 亚洲第一福利视频| 日本精品视频在线观看| 亚洲999一在线观看www| 永久免费精品影视网站| 日韩经典中文字幕| 成人免费激情视频| 国产高清在线不卡| 在线看国产精品| 91久久久久久久久| 国产精品96久久久久久| 国产日韩精品一区二区| 在线精品91av| 亚洲高清免费观看高清完整版| 4438全国亚洲精品在线观看视频| 57pao精品| 久久久久国产一区二区三区| 欧美中文字幕视频在线观看| 色狠狠av一区二区三区香蕉蜜桃| 久久6免费高清热精品| 国产精品成人免费电影| 欧美日韩另类在线| 国产成人极品视频| 国产精品久久久久免费a∨| 国产精品网站视频| 91免费版网站入口| 亚洲片av在线| 久久久久国色av免费观看性色| 日韩精品在线观看网站| 亚洲成人精品视频在线观看| 92福利视频午夜1000合集在线观看| 亚洲精品一区久久久久久| 日韩在线观看免费高清完整版| 欧美精品一区在线播放| 欧美性精品220| 亚洲丁香婷深爱综合| 国产经典一区二区| 国产一区二区三区高清在线观看| 色综合影院在线| 欧美日韩国产第一页| 久久免费成人精品视频| 日韩成人在线观看| 欧美激情一区二区三区成人| 久久精品视频导航| 亚洲精品视频播放| 日韩中文字幕免费视频| 九九热视频这里只有精品| 狠狠色狠狠色综合日日五| 精品无人区乱码1区2区3区在线| 亚洲最大福利视频网站| 国产精品国语对白| 成人午夜在线观看| 亚洲色图色老头| 91久久中文字幕| 国产亚洲美女精品久久久| 中文字幕9999| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美黄色片免费观看| 亚洲第一男人av| 久久精品人人做人人爽| 色妞色视频一区二区三区四区| 亚洲人线精品午夜| 国产免费一区二区三区在线观看| 91精品国产网站| 精品福利在线看|