2014年8月27日 星期三

SSH


  • 設定 閒置時間 (idle timeout)
    設定檔:/etc/ssh/sshd_config
    設定項:ClientAliveInterval (閒置多少時間秒) default is 0 (不限制)
                    ClientAliveCountMax (允許超時次數) default is 3 

  • SSH 不安全的設定
    如果 A 想 ssh 自動登入到遠端主機 B, 以下的方式可實做之.

    1. 在 A 端利用 ssh-keygen -t rsa 建立一組 key. 它會產生 private and public key.
    2. 把 public key (id_rsa.pub) copy 到遠端主機 B.
    3. 在 B 端, 將 id_rsa.pub 內容複製一份給 ~/.ssh/authorized_keys
    4. authorized_keys 的權限務必為 644,上層 .ssh 的權限為 750 or 700,但是不可為 77x
    基本上如果在以前的 Linux 環境, 這樣就行了, 因為預設 sshd_config 沒有一些很安全的設定, 但是之後的版本這樣不安全的設定都被註解掉了. 還是提醒一下, 這樣做真的不是很安全. 使用時還請三思.

    在 sshd_config 中, 所謂的安全性設定 :
    PermitRootLogin no
    RSAAuthentication no
    PubkeyAuthentication no
    X11Forwarding no
    PermitTunnel no

    至於如果要完成上述的能力, 需要開啟一些不安全的設定 :
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile  .ssh/authorized_keys
    PubkeyAgent none
    PubkeyAgentRunAs nobody 

  • SSH 會延遲登入授權的原因
    修改 /etc/ssh/sshd_config
    修改為 ChallengeResponseAuthentication no
    修改為 GSSAPIAuthentication no

    以下是建議及初始值:
    UsePAM yes
    GSSAPICleanupCredentials yes
    PasswordAuthentication yes
    Protocal 2

  • SSH Tunnel
    假使我們要開遠端的 X-window 視窗內容,一般在本機端的 Linux X-window Keyin: `ssh -X ` , 同時在遠端主機的 sshd_config 開啟 X11_Forwarding 為 on 即可。 

        但假使我們是需要跨兩個節點來存取 X-window 訊息呢?以下的方式即是說明此一用法:

    條件:
          1. 本機為 Linux X-window,傾聽 port 為:6000。

    條件設定:
          A. 為第一台節點位址 210.23.25.110
          B. 為第二台節點位址 210.23.25.115

    開始:
    -- 本機端  --
    # ssh -R 6000:localhost:22 -X 210.23.25.110

    -- A 端 --
    # ssh -R 22:localhost:22 -X 210.23.25.115

    -- B 端 --
    # export DISPLAY=210.23.25.115:1
    # xterm

    [註]
    一. ssh -R 6000:localhost:22
    (本機端 6000 port 傾聽接收來自 遠端 22 port 訊息)

    二. ssh -X (為 ssh 執行遠端 X-window 訊息接收功能)

    三. 由於 X-window 會參考 DISPLAY 的設定值。因此需在遠端 (B端點)
    輸入 `DISPLAY=host : port`

    之後執行 xterm,則 B端點的 xterm 畫面會回傳到本機端。

沒有留言: