週日, 四月 2, 2006, 11:36 AM - 技術小技巧
最近在思考使用 rsync over ssh 異地備分以及建立 ssh tunnel 的自動方式, 都是卡在需要輸入密碼的問題, 後來有找到這個方案, 讓自動的這件事情可以達成.以下是建立由 tryboxap2 主機透過 jonathan 的身分 ssh 到 server 主機不需要輸入密碼的方式.
Step 1:
使用 jonathan 登入 tryboxap2
Step 2:
cd .ssh
ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/jonathan/.ssh/id_dsa): <-- 直接 Enter
Enter passphrase (empty for no passphrase): <-- 不打密碼
Enter same passphrase again: <-- 直接 Enter
Your identification has been saved in /home/jonathan/.ssh/id_dsa.
Your public key has been saved in /home/jonathan/.ssh/id_dsa.pub.
The key fingerprint is:
8a:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx jonathan@G-POR-01
Step 3:
scp id_dsa.pub server.ichiayi.com:/home/jonathan/.ssh/authorized_keys2
The authenticity of host 'server.ichiayi.com (220.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is d2:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server.ichiayi.com,220.xxx.xxx.xxx' (RSA) to the list of known hosts.
jonathan@server.ichiayi.com's password:
id_dsa.pub 100% |**********************************************************| 607 00:00
複製這樣環境, jonathan 使用 ssh 由 tryboxap2 連到 server 就不需要輸入密碼
[jonathan@G-POR-01 .ssh]$ ssh server.ichiayi.com
Last login: Sun Apr 2 11:57:05 2006 from mail.ichiayi.com
[jonathan@server jonathan]$
| 0 引用
| permalink
| 



( 3 / 581 )




( 3 / 581 )
週四, 三月 30, 2006, 06:09 AM - 技術小技巧, Linux
之前的專案有要求兩台主機互為備援的架構, Sales 所賣進去的 Cluster 或 HA 系統無法與 AP 整合(事實上是要求 AP 必須要依照他的規定修改程式), 而且還有一大堆有的沒的問題. 雖然最後還是透過業務面的方式將專案驗收, 不過我還是自己想一個窮人的 HA 架構, 也就是用 perl 寫個偵測對方 IP 以及 Gateway IP 是否還可正常運作, 偵測對方 IP 連續 n 次沒有回應而且 Gateway IP 有回應的狀況, 就將對方 IP 取代過來.
這個想法後來在另一個專案有真正實作出來, 但發現當 IP 取代過來時, 會出現還是連不到的問題, 原來是上面的 switch 內 arp table 還沒更新, 無法將 IP 與 MAC 正確對應. 這問題最後是和 switch 廠商談一個介面來解決(這個 switch 是比較高檔, 可以 telnet 連進去設定), 就是我切換 IP 後就呼叫 switch refresh arp table,
今天在切換 trybox 主機 IP 61.67.71.97 時, 也遇到相同的狀況, 後來看了一下 linux arp 相關指令, 發現一個 arping. 只是測看看打了以下的命令:
[root@tryboxap1 sysconfig]# arping 61.67.71.97
ARPING 61.67.71.97 from 61.67.71.97 eth0
Sent 80 probes (80 broadcast(s))
Received 0 response(s)
[root@tryboxap1 sysconfig]#
結果馬上就可由 Internet 連上 61.67.71.97
也不知道是否大部分的 switch 都接受這樣的 broadcast, 只能等下次遇到時再測試驗證看看!
週二, 三月 28, 2006, 07:21 AM
因為資訊安全, 所以現在的很多的服務都躲在 Firewall 後面, 並且沒有實體 IP. 但是如果系統出現異常, 緊急需要相關人員暫時連上來了解狀況, 這個建立 Remote 端 ssh tunnel 就是簡單可達成的方式.Type I:
希望工程師透過遠端 InterServer-B 的主機連進來 IntraServer-A 的主機了解問題, 如下圖:

Step 01:
先登入 IntraServer-A
Step 02:
ssh -nNT -R 9022:192.168.0.39:22 jonathan@61.67.71.95
由 IntraServer-A 以 jonathan 身分 ssh 連上 InterServer-B
然後建立 ssh tunnel, 讓 InterServer-B 所 Listen 的 Port 9022 就是通到 IntraServer-A 的 Port 22
Step 03:
這時工程師在 InterServer-B 內下 ssh engineer@localhost -p 9022
這樣就可以由 InterServer-B 以 engineer 身分 ssh 連上 IntraServer-A
Type II:
IntraServer-A 可以透過 ssh 連上 IntraServer-C, 希望工程師透過遠端 InterServer-B 的主機連進來 IntraServer-C 的主機了解問題, 如下圖:

Step 01:
先登入 IntraServer-A
Step 02:
ssh -nNT -R 9022:10.1.1.2:22 jonathan@61.67.71.95
由 IntraServer-A 以 jonathan 身分 ssh 連上 InterServer-B
然後建立 ssh tunnel, 讓 InterServer-B 所 Listen 的 Port 9022 就是通到 IntraServer-C 的 Port 22
Step 03:
這時工程師在 InterServer-B 內下 ssh engineer@localhost -p 9022
這樣就可以由 InterServer-B 以 engineer 身分 ssh 連上 IntraServer-C
!!注意!!:
當遠端進來處理完成後, 一定要將 Step 02 所建立的 ssh tunnel 關掉, 否則就會真的產生資安問題.
前一頁 下一頁

Avatar



