技術分享
[技術分享]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執行,以下介紹兩種啟動方式:- 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 設定/ - Generic process方式
用SCF執行以下的內容其中INFILE指定的檔案內容為STN的參數設定檔。 - 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。
- PARAM BACKUPCPU cpu
- TACL方式
- STNCOM 指令集
- 新增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 - 新增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
- 刪除service - delete service
DELETE SERVICE <service-name> | *
- 刪除window - delete window
DELETE WIN[DOW] <window-name> | * - 檢查service設定 - info service
INFO SER[VICE] <service-name> | * - 檢查window設定 - info window
INFO WIN[DOW] <window-name> | * - 啟動service - start service
START SERVICE <service-name> | * - 啟動window - info window
START WINDOW <#window-name> | * - 檢查STN global參數 - info process
- 新增service - add service
二、SH and SFTP client 操作
SSH產品提供了在Guardian 和OSS環境的SSH和SFTP client工具,本章介紹如何使用這兩個工具。
- SSH client 連線-Guardian
- SSH TCPIP連線
- SSH IPv6連線
- SFTP client 連線-Guardian
- SFTP TCPIP連線
- 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