亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

高效使用SSH的16條技巧

 更新時(shí)間:2014年03月03日 16:56:19   投稿:junjie  
SSH有很多非??岬奶匦?如何它是你每天的工作伴侶,那么我想你有必要了解以下16條高效使用SSH的秘籍,它們幫你節(jié)省的時(shí)間肯定會(huì)遠(yuǎn)遠(yuǎn)大于你用來(lái)配置它們的時(shí)間

1. 多條連接共享

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

復(fù)制代碼 代碼如下:

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

現(xiàn)在試試斷開(kāi)你與服務(wù)器的連接,并建立一條新連接,然后打開(kāi)一個(gè)新窗口,再創(chuàng)建一條連接,你會(huì)發(fā)現(xiàn),第二條連接幾乎是在瞬間就建立好了。

Windows用戶(hù)

如果你是Windows用戶(hù),很不幸,最流行的開(kāi)源SSH客戶(hù)端Putty并不支持這個(gè)特性,但是Windows上也有OpenSSH的實(shí)現(xiàn),比如這個(gè)Copssh,如果你覺(jué)得下面的一些技巧對(duì)你很有幫助,或許你應(yīng)該試試Copssh。

文件傳輸

連接共享不止可以幫助你共享多個(gè)SSH連接,如果你需要通過(guò)SFTP與服務(wù)器傳輸文件,你會(huì)發(fā)現(xiàn),它們使用的依然是同一條連接,如果你使用的 Bash,你會(huì)發(fā)現(xiàn),你甚至SSH甚至支持Tab對(duì)服務(wù)器端文件進(jìn)行自動(dòng)補(bǔ)全,共享連接選項(xiàng)對(duì)于那些需要借助SSH的工具,比如rsync,git等等也 同樣有效。

2. 長(zhǎng)連接

如果你發(fā)現(xiàn)自己每條需要連接同一個(gè)服務(wù)器無(wú)數(shù)次,那么長(zhǎng)連接選項(xiàng)就是為你準(zhǔn)備的:

復(fù)制代碼 代碼如下:
ControlPersist 4h

現(xiàn)在你每次通過(guò)SSH與服務(wù)器建立連接之后,這條連接將被保持4個(gè)小時(shí),即使在你退出服務(wù)器之后,這條連接依然可以重用,因此,在你下一次(4小時(shí) 之內(nèi))登錄服務(wù)器時(shí),你會(huì)發(fā)現(xiàn)連接以閃電般的速度建立完成,這個(gè)選項(xiàng)對(duì)于通過(guò)scp拷貝多個(gè)文件提速尤其明顯,因?yàn)槟悴辉谛枰獮槊總€(gè)文件做單獨(dú)的認(rèn)證了。

3. 別再輸入密碼

如果你還在通過(guò)密碼方式登錄SSH,那么你或許應(yīng)該試試SSH Keys,首先使用OpenSSH為自己聲稱(chēng)一對(duì)密鑰:

復(fù)制代碼 代碼如下:
$ ssh-keygen

跟隨指示,完成之后,你應(yīng)該可以在你的.ssh目錄下看到兩個(gè)文件,id_rsa就是你的私鑰,而id_ras.pub則是你的公鑰,現(xiàn)在你需要將你的公鑰拷貝到服務(wù)器上,如果你的系統(tǒng)有ssh-copy-id命令,拷貝會(huì)很簡(jiǎn)單:

復(fù)制代碼 代碼如下:
$ ssh-copy-id smylers@compo.example.org

否則,你需要手動(dòng)將你的私鑰拷貝的服務(wù)器上的~/.ssh/authorized_keys文件中:

復(fù)制代碼 代碼如下:
$ < ~/.ssh/id_rsa.pub ssh clegg.example.org ‘mkdir -p .ssh; cat >> .ssh/authorized_keys; chmod go-w .ssh .ssh/authorized_keys’

現(xiàn)在試試重新連接到SSH服務(wù)器,或是拷貝文件,是不是已經(jīng)不需要再輸入密碼了?

為Putty配置SSH Key

Putty也可以使用SSH Key,從Putty網(wǎng)站下載PuttyGen和Pageant,然后使用PuttyGen生成你的密鑰,將公鑰拷貝到服務(wù)器的’.ssh/authorized_keys’目錄,然后運(yùn)行Pageant,導(dǎo)入你的私鑰,讓它在后臺(tái)運(yùn)行,險(xiǎn)隘你就可以使用Putty通過(guò)公鑰直接登錄服務(wù)器了,你可以在Putty手冊(cè)的第8,9章了解關(guān)于這一特性的詳細(xì)介紹。

4. 連接中轉(zhuǎn)

有時(shí)候你可能需要從一個(gè)服務(wù)器連接另外一個(gè)服務(wù)器,比如在兩個(gè)服務(wù)器之間直接傳輸數(shù)據(jù),而不用通過(guò)本地電腦中轉(zhuǎn):

復(fù)制代碼 代碼如下:
www1 $ scp -pr templates www2:$PWD

(順便說(shuō)一下,當(dāng)你需要在兩臺(tái)服務(wù)器間拷貝文件時(shí),$PWD變量時(shí)非常有用的),因?yàn)榧词鼓阋呀?jīng)在兩臺(tái)服務(wù)器上添加了你本地電腦的公鑰,scp默認(rèn) 仍然會(huì)提示你輸入密碼:這是因?yàn)槟阌脕?lái)作為跳板的那臺(tái)服務(wù)器上并沒(méi)有你的私鑰,所以,第二胎服務(wù)器會(huì)拒絕你的公鑰,但是一定不要通過(guò)將你的私鑰拷貝到中轉(zhuǎn) 服務(wù)器上來(lái)解決這個(gè)問(wèn)題,你可以使用agent forwarding來(lái)解決

5. 省略主機(jī)名

輸入服務(wù)器的完整主機(jī)名來(lái)建立一個(gè)新的SSH連接實(shí)在是太乏味無(wú)聊了,尤其是當(dāng)你有一組擁有相同域名但是子域名不同的服務(wù)器需要管理時(shí),比如下面這樣:

復(fù)制代碼 代碼如下:

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

或許你的網(wǎng)絡(luò)已經(jīng)配置了可以直接使用短域名,比如intranet,但是如果你的網(wǎng)絡(luò)不支持,實(shí)際上可以自己搞定這個(gè)問(wèn)題,而不用求助網(wǎng)絡(luò)管理員。

解決辦法根據(jù)你用的操作系統(tǒng)而略有差異,下面是我的Ubuntu系統(tǒng)的配置:

復(fù)制代碼 代碼如下:
prepend domain-search “internal.example.com”, “example.com”;

然后你需要重啟網(wǎng)絡(luò):$ sudo restart network-manager

不同的系統(tǒng),這兩條命令可能會(huì)略有差異。

5. 主機(jī)別名

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

復(fù)制代碼 代碼如下:

Host dev
HostName dev.internal.example.com

你還可以使用通配符來(lái)進(jìn)行分組:

復(fù)制代碼 代碼如下:

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

Host www* mail
HostName %h.example.com

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

7. 省去用戶(hù)名

如果你在遠(yuǎn)程服務(wù)器上的用戶(hù)名和你本地的用戶(hù)名不同,你同樣可以在SSH配置中進(jìn)行設(shè)置:

復(fù)制代碼 代碼如下:

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

現(xiàn)在就算我的本地用戶(hù)名是 smylers,我仍然可以這樣連接服務(wù)器:

復(fù)制代碼 代碼如下:

$ ssh www2

SSH會(huì)使用simon賬戶(hù)連接你的服務(wù)器,同樣,Putty可以保存這個(gè)信息在你的session中。

8. 在服務(wù)器間跳轉(zhuǎn)

有些時(shí)候,你可能沒(méi)法直接連接到某臺(tái)服務(wù)器,而需要使用一臺(tái)中間服務(wù)器進(jìn)行中轉(zhuǎn),這個(gè)過(guò)程也可以自動(dòng)化。首先確保你已經(jīng)為服務(wù)器配置了公鑰訪問(wèn),并開(kāi)啟了agent forwarding,現(xiàn)在你就可以通過(guò)2條命令來(lái)連接目標(biāo)服務(wù)器,不會(huì)有任何提示輸入:

復(fù)制代碼 代碼如下:

$ ssh gateway
gateway $ ssh db

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

復(fù)制代碼 代碼如下:

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

現(xiàn)在你就可以通過(guò)一條命令來(lái)直接連接目標(biāo)服務(wù)器了:

復(fù)制代碼 代碼如下:

$ ssh db

這里你可能會(huì)需要等待長(zhǎng)一點(diǎn)的時(shí)間,因?yàn)镾SH需要進(jìn)行兩次認(rèn)證,,注意netcat也有可能被寫(xiě)成nc或者ncat或者前面還需要加上g,你需要檢查你的中間服務(wù)器來(lái)確定實(shí)際的參數(shù)。

11. 遠(yuǎn)程GUI

有時(shí)候通過(guò)本地的GUI程序來(lái)訪問(wèn)遠(yuǎn)程服務(wù)器的文件會(huì)非常有用,比如,編輯一副圖片,或者查看一個(gè)PDF文件,或者只是簡(jiǎn)單的通過(guò)一個(gè)非命令行的編 輯器來(lái)修改代碼,我發(fā)現(xiàn)GVim要比終端里的Vim更有用,因?yàn)槲铱梢酝ㄟ^(guò)gvimopens打開(kāi)一個(gè)新窗口來(lái)編輯文件,而用當(dāng)前的SSH窗口繼續(xù)執(zhí)行其 它操作,不要要這樣做,你需要先在你的SSH配置中開(kāi)啟一個(gè)叫做X forwarding的選項(xiàng):

復(fù)制代碼 代碼如下:

ForwardX11 yes

這個(gè)選項(xiàng)需要服務(wù)器配置才能起作用,服務(wù)器也需要開(kāi)啟X forwarding,你可以在服務(wù)器的/etc/ssh/sshd_config中添加下面這個(gè)命令:

復(fù)制代碼 代碼如下:

X11Forwarding yes

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

12.本地操作遠(yuǎn)程文件

另一種讓遠(yuǎn)程GUI程序顯示在本地的替代方案就是讓本地的GUI程序可以直接操作遠(yuǎn)程文件,你可以通過(guò)SSHFS來(lái)實(shí)現(xiàn),只需要?jiǎng)?chuàng)建一個(gè)空目錄,然后使用SSHFS將一個(gè)遠(yuǎn)程目錄mount到這個(gè)目錄就可以了:

復(fù)制代碼 代碼如下:

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

現(xiàn)在你就可以使用任何你喜歡的本地程序來(lái)便捷這個(gè)目錄中的文件了,它們看起來(lái)是在你的本地,但其實(shí)時(shí)遠(yuǎn)程服務(wù)器上的文件,你可以使用fusermount命令來(lái)unmount這些文件,不要擔(dān)心記不住,它們就在sshfs手冊(cè)的頂上:

復(fù)制代碼 代碼如下:

$ cd ..
$ fusermount -u gallery_src

SSHFS可以在Linux和OSX上工作,Windows用戶(hù)我目前還沒(méi)找到什么好辦法。

13. 通過(guò)Vim訪問(wèn)遠(yuǎn)程文件

Vim有一個(gè)內(nèi)置的功能可以直接編輯遠(yuǎn)程文件,需要借助SCP URL:

復(fù)制代碼 代碼如下:

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

這中方式明顯不如SSHFS靈活,但是如果你只需要對(duì)遠(yuǎn)程服務(wù)器的1,2個(gè)文件進(jìn)行編輯時(shí),這條命令就要更靈活一些了,并且可以在Windows上也可以這樣做:

復(fù)制代碼 代碼如下:

:help netrw-problems

14. 使用本地App連接遠(yuǎn)程服務(wù)器

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

復(fù)制代碼 代碼如下:

Host db
LocalForward 5433 localhost:5432

現(xiàn)在當(dāng)你連接你的SSH服務(wù)器時(shí),它會(huì)在你本地電腦打開(kāi)一個(gè)5433端口(我隨便挑的),并將所有發(fā)送到這個(gè)端口的數(shù)據(jù)轉(zhuǎn)發(fā)到服務(wù)器的5432端口 (Postgres的默認(rèn)端口),然后,只要你和服務(wù)器建立了連接,你就可以通過(guò)5433端口來(lái)訪問(wèn)服務(wù)器的Postgres了。

復(fù)制代碼 代碼如下:

$ ssh db

現(xiàn)在打開(kāi)另外一個(gè)窗口,你就可以通過(guò)下面這條命令在本地連接你的Postgres數(shù)據(jù)庫(kù)了:

復(fù)制代碼 代碼如下:

$ psql -h localhost -p 5443 orders

如果你想要使用服務(wù)器不支持的圖形化Postgres客戶(hù)端時(shí),這條命令會(huì)顯得尤其有用:

復(fù)制代碼 代碼如下:

$ pgadmin3 &

或者你有一個(gè)后臺(tái)的Web服務(wù)器,你不希望直接通過(guò)Internet訪問(wèn)它,你也可以通過(guò)端口轉(zhuǎn)發(fā)來(lái)訪問(wèn)它:

復(fù)制代碼 代碼如下:

Host api
LocalForward 8080 localhost:80

現(xiàn)在連接到服務(wù)器:

復(fù)制代碼 代碼如下:

$ ssh api

然后將瀏覽器指向你選擇的端口號(hào):

復(fù)制代碼 代碼如下:

$ firefox http://localhost:8080/

15. 減少延遲

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

復(fù)制代碼 代碼如下:

GSSAPIAuthentication no

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

16. 加速連接

如果你確保你和某個(gè)服務(wù)器之間的連接是安全的(比如通過(guò)公司內(nèi)網(wǎng)連接),那么你就可以通過(guò)選擇arcfourencryption算法來(lái)讓數(shù)據(jù)傳輸更快一些:

復(fù)制代碼 代碼如下:

Host dev
Ciphers arcfour

注意這個(gè)加速是以犧牲數(shù)據(jù)的“加密”性為代價(jià)的,所以如果你連接的是位于網(wǎng)上的服務(wù)器,千萬(wàn)不要打開(kāi)這個(gè)選項(xiàng),并且確保你是通過(guò)VPN建立的連接。

現(xiàn)在就趕緊行動(dòng)試試通過(guò)這些技巧來(lái)讓你的SSH更有效率吧!

相關(guān)文章

  • Typecho程序偽靜態(tài)規(guī)則大全(包括Linux/Windows)

    Typecho程序偽靜態(tài)規(guī)則大全(包括Linux/Windows)

    Typecho程序的偽靜態(tài)規(guī)則不同于wp直接默認(rèn)可用,需要我們手工加載到空間中才可以生效。下面老左整理了這款程序在不同的主機(jī)環(huán)境中的偽靜態(tài)規(guī)則,希望對(duì)大家有所幫助
    2012-09-09
  • 解析Linux源碼之epoll

    解析Linux源碼之epoll

    本文在探究epoll源碼過(guò)程中,對(duì)kernel將就緒描述符添加到epoll并喚醒對(duì)應(yīng)進(jìn)程的一次源碼分析(基于linux-2.6.32內(nèi)核版本)。由于篇幅所限,著重聚焦于tcp協(xié)議下socket可讀事件的源碼分析
    2021-06-06
  • CentOS 7中 Minimal 安裝JDK 1.8的教程

    CentOS 7中 Minimal 安裝JDK 1.8的教程

    這篇文章主要介紹了CentOS 7 Minimal 安裝JDK 1.8的教程,非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-05-05
  • iptables做策略屏蔽QQ與MSN

    iptables做策略屏蔽QQ與MSN

    QQ服務(wù)器端口為:8000;客戶(hù)端端口為:4000(開(kāi)啟第二個(gè)QQ時(shí)為4001,依次類(lèi)推);均為UDP.MSN端口數(shù)較多:1863為登陸所需要的端口以及3000-4000等等
    2013-04-04
  • ubuntu下編譯安裝opencv的方法

    ubuntu下編譯安裝opencv的方法

    今天小編就為大家分享一篇關(guān)于ubuntu下編譯安裝opencv的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • RHEL 7中防火墻的配置和使用方法

    RHEL 7中防火墻的配置和使用方法

    下面小編就為大家?guī)?lái)一篇RHEL 7中防火墻的配置和使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 可以提高效率的十個(gè)Linux命令別名匯總

    可以提高效率的十個(gè)Linux命令別名匯總

    這篇文章主要給大家介紹了關(guān)于可以提高效率的十個(gè)Linux命令別名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Linux初始化系統(tǒng)盤(pán)后重新掛載數(shù)據(jù)盤(pán)方法

    Linux初始化系統(tǒng)盤(pán)后重新掛載數(shù)據(jù)盤(pán)方法

    在本篇文章中我們給大家分享了Linux初始化系統(tǒng)盤(pán)后重新掛載數(shù)據(jù)盤(pán)的解決方法,有需要的朋友們可以參考下。
    2018-09-09
  • Linux?使用vi文本編輯器詳解

    Linux?使用vi文本編輯器詳解

    這篇文章主要介紹了Linux?使用vi文本編輯器詳解的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Linux配置防火墻,開(kāi)啟80、3306端口的實(shí)例方法

    Linux配置防火墻,開(kāi)啟80、3306端口的實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于Linux配置防火墻,開(kāi)啟80端口、3306端口的相關(guān)內(nèi)容,需要的朋友們參考下。
    2020-02-02

最新評(píng)論