一些 ssh 小技巧
本文來自網易雲社區。
作者:沈高峰
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 小技巧