1. 程式人生 > >一些 ssh 小技巧

一些 ssh 小技巧

detail 跳轉 win all 社區 圖片 127.0.0.1 經驗分享 ins

本文來自網易雲社區。


作者:沈高峰

ssh 經常需要使用的,每次使用都

 ssh  [email protected] -p 12138 -i ~/.ssh/id_rsa

來一遍顯然太麻煩了,下面分享一點使用ssh的小技巧

1、客戶端配置

linux 下,ssh會去讀 ~/.ssh/config 裏的配置的,只需要配置文件裏寫入如下配

Host XXX1    # 配置的名稱,選方便自己識別的就行HostName XXX1.def.com # 服務器地址ip 域名都可以User abc            # 登錄的用戶名Port 12138IdentityFile ~/.ssh/abc_rsa  # 私鑰路徑

然後每次登錄的時候,只需要

ssh XXX1

按tab 還會自動補全Host 信息

如果私鑰設置了Passphrase,就只需要輸入Passphrase 就可以了,沒有Passphrase的話,就會直接登錄。

每次用scp的時候,也只需要scp XXX1:/home/abc/def . 就可以了

windows下,我一般用putty,主要設置wiki上都有 常用 SSH 客戶端的設置和使用

加入一下下面這個設置,可以免去每次都需要輸入用戶名的麻煩。

技術分享圖片

windows下使用scp推薦一下 winscp這個軟件,它會去讀putty的配置,一般putty設置好了,就不需要在配置了。

它直接可以通過窗口進行scp操作。

技術分享圖片 技術分享圖片

2、多個服務器同時部署相同程序

這種情況適合同一個腳本/程序需要部署到一組機器上。

一般需要一個臺臺scp過去,再修改權限,拷貝到指定目錄

可以寫個簡單的腳本

腳本大概是這樣的

servers=(XXX1 XXX2 XXX3)  # XXX1 XXX2 XXX3 代表1中配置好了的HostName,下同for i in ${servers[@]};do 
    scp a.sh $i:
    ssh $i sudo -iu pub_count cp /home/abc/a.sh /home/pub_count/done

也可以使用parallel-ssh ,debian下直接apt-get 安裝就可以了

上面的小腳本就可以變成下面2條命令了

parallel-scp -H "XXX1 XXX2 XXX3" a.sh  /home/abc
parallel-ssh -H "XXX1 XXX2 XXX3" "sudo -iu pub_count cp /home/abc/a.sh /home/pub_count/"

3、ssh代理

調試的時候比較有用,比如openid開發的時候,跳轉回127.0.0.1不需要申請權限。

如果程序部署到遠程服務器上了,就需要去申請權限了。

通過ssh-tunnel開個代理,再在瀏覽器上設置好代理,就可以認為瀏覽器當成在遠程使用了

ssh -qTfnN XXX1 -D 127.0.0.1:7070 # 使用本地端口7070設代理,流量通過ssh走遠程服務器

一般默認情況下網絡設置裏會在不使用代理這裏有localhost,127.0.0.1,要像上面那樣調試,就需要刪掉這個設置

技術分享圖片

這樣設置好之後,使用瀏覽器訪問 127.0.0.1:8080 實際是訪問遠程服務器XXX1上的127.0.0.1:8080


網易雲免費體驗館,0成本體驗20+款雲產品!

更多網易研發、產品、運營經驗分享請訪問網易雲社區。


相關文章:
【推薦】 5月第2周業務風控關註|央行:嚴禁未經授權認可的APP接入征信系統

一些 ssh 小技巧