[技術分享]NonStop Server SSH 架構與操作(下)

作者/馬先讓

作者簡歷 作者擁有26年IT服務資歷,現職凌群電腦NSK服務總處副總工程師,主要負責HPE Nonstop證券、期貨、銀行客戶交易系統維運服務,專長為HPE NonStop系統整合。 前言 HPE NonStop SSH是一個綜合性Enterprise Secure Shell解決方案。SSH (Secure Shell)是一套網路連線協定,本期將介紹HPE NonStop SSH管理操作。 HPE NonStop SSH管理操作 一、STN PTY SERVER設定與啟動 STN是一個pseudo TTY server,能讓遠端SSH clients連線,提供全螢幕操作,它就像類似傳統TELNET連線的TELSERV,需要設定SERVICE NAME或是WINDOW NAME。STN同SSH2都必須由SUPER.SUPER才能啟動,並透過STNCOM管理STN的環境。
  • STN啟動
    STN啟動有兩種方式,一種透過TACL執行OBEYFILE,另一種則是設成generic process,兩者皆需SUPER.SUPER執行,以下介紹兩種啟動方式:
    1. TACL方式 > logon super.super /登入SUPER.SUPER/ > volume $system.zssh /$system.zssh為STN程式目錄/ > clear all /清除所有的參數設定/ > param ... /設定STN參數/ > run stn /name $ZPTY, pri 180, nowait / /執行STN/ > run stncom $ZPTY; ... /管理STN process 設定/
    2. Generic process方式 用SCF執行以下的內容其中INFILE指定的檔案內容為STN的參數設定檔。
    3. STN參數
      • PARAM BACKUPCPU cpu
        設定STN Process的backup cpu,STN啟動無法代入backup cpu,需透過這個參數才能設定它的backup cpu。
      • PARAM GWN^TEMPLATE #AAAnnn
        設定連到STN的WINDOW命名的格式,如該範例讓連到該STN的連線。
        WINDOW NAME為$ZPTY.#AAAnnn,說明如下:
        • # must appear as the first char
        • 1 to 4 letters:alphabetic prefix
        • 2 to 5 decimal digits:numeric suffix
        • Total must be 4 to 8 characters including "#"
      • PARAM GWN^INITIAL RANDOM
        控制Controls session和window names,連線的WINDOW NAME預設值為0001,設定該參數則WINDOW NAME就會是隨意值。
      • PARAM LICENSE filename
        指定STN LICENSE檔案位置,檔案名為LICENSE,系統預設該檔案的位置為STN object file所在的目錄;現在的版本已內含LICENSE,不再需要設定。
      • PARAM NOTACL 1
        1這個數字代表不使用TACL Service,系統預設值是有TACL Service。
      • PARAM OPEN^TABLE^SIZE number
        指定STN windows最大可被其他processes的open數。預設值3000,最大值為32000。
      • PARAM POOL^SIZE number
        指定control tables and I/O buffers的extended segment memory pool 的大小。單位是words,預設值為4194304(4M)。
      • PARAM SECURITY letter
        定義STN安全等級,那個USER有權限用STNCOM修改STN process 環境,預設值為"O",可設成其他的權限。
      • PARAM TRACE^FILE trace-file
        啟動一個trace file,檔案大小由參數PARAM TRACE^SIZE設定。
      • PARAM TRACE^SIZE number
        當PARAM&TRACE^FILE有使用時,用來設定trace file的檔案大小,單位為byte,預設值為100K。
  • STNCOM 指令集
    1. 新增service - add service Add service用來設定STATIC或DYNAMICE window sessions。其中它必須搭配stn process所對應到的ssh2 process內user 的設定CI-COMMAND *MENU*,才能在連線時看到這個service 選項出現。
      範例:
      ADD SERVICE RESTACL,TYPE DYNAMIC
      ,RESILIENT YES
      ,PROGRAM $SYSTEM.SYSTEM.TACL
      ,MENU HIDDEN
      ,USER SUPER.SUPER
      ,PRI 199
      ,LIMIT 3
    2. 新增window - add window Add window用來設定固定的window name,語法如下:
      ADD WINDOW #window-name
      ,TYPE DYNAMIC | STATIC | SU | DEDICATED
      ,TERM_TYPE TN6530 | ANSI | ANY
      ,SERVICE service-name
      ,IPADDR dotted-ip-address
      ,SUBTYPE nn | NONE
      ,SCRIPT script-name
    3. 刪除service - delete service DELETE SERVICE <service-name> | *

    4. 刪除window - delete window DELETE WIN[DOW] <window-name> | *
    5. 檢查service設定 - info service INFO SER[VICE] <service-name> | *
    6. 檢查window設定 - info window INFO WIN[DOW] <window-name> | *
    7. 啟動service - start service START SERVICE <service-name> | *
    8. 啟動window - info window START WINDOW <#window-name> | *
    9. 檢查STN global參數 - info process
二、SH and SFTP client 操作
SSH產品提供了在Guardian 和OSS環境的SSH和SFTP client工具,本章介紹如何使用這兩個工具。
  • SSH client 連線-Guardian
    1. SSH TCPIP連線
    2. SSH IPv6連線
  • SFTP client 連線-Guardian
    1. SFTP TCPIP連線
    2. SFTP IPv6連線
  • OSS環境使用SSH和SFTP
    系統提供支援OSS環境使用的SSH和SFTP client,檔案放在Guardian環境的目錄$SYSTEM.ZSSH.所以必須先在OSS環境建立link如下: ln -s /G/system/zssh/sshoss /usr/bin/ssh ln -s /G/system/zssh/sftposs /usr/bin/sftp
    之後即可在OSS環境直接執行ssh和sftp。
  • 執行SSH 和SFTP指定SSH2 process
    當系統有多個SSH2 processes時,執行SSH或SFPT Client連線時,需指定要透過那個SSH2 process連出去,須在指令後面加上-S <ssh2 process name>,範例如下:
三、SSH LOG分析
SSH LOG紀錄分為4個等級如下:
- 50 (default):log normal operation
- 30:only log startup messages and warnings
- 70:detailed diagnostic messages. Should only be set if the additional verbosity is really required.
- 100:very detailed diagnostic messages. This configuration is not recommended for production environments as it will create significant overhead.
  • SSH LOG 紀錄設定
    以下介紹幾種LOG設定方法: (1) Log等級最高,測試時用。 LOGFILE * -不寫到LOGFILE LOGEMS * -不寫到EMSLOG LOGLEVELCONSOLE 100 -LOG LEVEL最高 LOGCONSOLE % -LOG 寫到 SSH2 PROCESS的HOME TERM (2) Log to EMS and only log startup and severe messages: LOGFILE * -不寫到LOGFILE LOGCONSOLE * -不寫到HOME TERM LOGEMS $0 -寫到$0 LOGLEVELEMS 30 -LOG LEVEL 30 (3) Log normal operations to a file and startup and severe messages to EMS: LOGCONSOLE * LOGFILE $vol.subvol.logfile LOGLEVELFILE 50 LOGEMS $0 LOGLEVELEMS 30 (4) Log normal operations to a file and startup and severe messages to EMS,且LOG 可先放在CACHE LOGCONSOLE * LOGFILE $vol.subvol.logfile LOGLEVELFILE 50 LOGEMS $0 LOGLEVELEMS 30 LOGLEVELCACHE 85 -85條LOG可先被放在CACHE
  • SSH 檢查LOG工具-SHLOWLOG
    SHOWLOG工具是用來讀取SSH所以的LOGFILE,它放在$system.zssh內,它的常用語法如下:
    (1) dump logfile 全部內容 run showlog sh54log (2) 將LOGFILE轉成另一個文字檔 run showlog ssh2log logedit (3) 範例:讀取LOGFILE位置在5000000~5010000範圍內的資料 run showlog ssh2log * 5000000 10000


參考資料 ‧HPE NonStop SSH Reference Manual