2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IBM i駆け出し日記:Power VSをACSに接続する -ACSとssh接続編-

Last updated at Posted at 2023-03-29

ACSからsshでPowerVS環境のIBM iへ接続できるようにする

前回はACSをローカル環境にインストールするところまでをやりました。

今回はPower VS側での設定とACS側の設定について書いていきます。

Power VSでの設定

IBM Cloudですでにインスタンス(LPAR,区画)は作成しており、QSECFRでログインしたのちメインメニューが表示できている状態にした以降の操作を書きます。

※QSECOFR:IBM iでの管理者権限、UNIXでいうroot権限みたいな。インスタンス作成後に最初にログインするときのUser IDとPassWordは共にQSECOFRです。

ユーザープロファイルの作成(作成済みなら飛ばしてください)

以下のコマンドをIBM Cloudコンソール5250で入力します。
CRTUSRPRFコマンドでユーザープロフィールを作成し、2個目のMKDIRコマンドでユーザープロフィールのホームディレクトリを作成します。

CRTUSRPRF USRPRF(SAKURA) PASSWORD(#任意のパスワード)
MKDIR DIR('/HOME/SAKURA')

TCP/IPの確認

まずCFGTCPコマンドでIPが振られていることを確認します。
以下のコマンドを入力します。

CFGTCP

1を選択します。
image.png

127.0.0.1以外の自分にIPがあればOK
image.png
今回はインターネット接続をオン(パブリック接続を使用可能にチェック)したので2つIPアドレスが割り振られていますが、パブリックを使用可能にしないとIPは1つだけ表示されます。

クラウドコンソールのここで外部IPが振られていることを確認します。上のパブリックネットワークの方が振られていればOKです。
外部IPをこの先使います。
image.png

公開鍵の登録準備

IBM iのコンソールで.sshというフォルダーを自分のディレクトリ配下に作成します。

MKDIR DIR('/HOME/KOGA/.SSH')

iの設定変更

Telnet 5250 で接続できるように、IBM i 側の設定をします。
SECOFRクラスのユーザーで接続を可能にします。
以下のコマンドを入力します。

CHGSYSVAL SYSVAL(QAUTOCFG) VALUE('1') 
CHGSYSVAL SYSVAL(QAUTOVRT) VALUE(10)
CHGSYSVAL SYSVAL(QLMTSECOFR) VALUE('0')

※ちなみに上記コマンドの意味は

  • QAUTOCFG('1'):5250端末セッション接続に使用する5250端末装置*DEVDを自動的に作成する
  • QAUTOVRT('10'):5250端末セッション接続に使用する5250端末装置*DEVDを最大10個自動構成する
  • QLMTSECOFR('0'):SECOFRクラスでログインする場合にDEVDに明示的に*SECOFRクラスユーザーの権限がなくともログインできるようにする

とのことらしい。

必要なサーバージョブを開始する

以下のコマンドを5250に入力します。

STRHOSTSVR *ALL
STRTCPSVR *SSHD
STRTCPSVR *TELNET

これで一旦Power VSでの操作は終わりです。

Macでのコンソール操作

鍵の登録

公開鍵を scp コマンドで先程作成したIBM i の.SSHディレクトリにコピーします。

scp .ssh/id_rsa.pub sakura@192.xxx.xxx.xx:/home/sakura/.ssh/id_rsa.pub
sakura@192.xxx.xxx.xx's password:  #パスワード要求されるのでiで作成したユーザープロファイルのパスワードを入れます
id_rsa.pub                                          100%  745    38.3KB/s   00:00

認証鍵の作成方法の参考記事はこちら:
https://qiita.com/soma_sekimoto/items/35845495bc565c38ae9d

以下公開鍵と権限の設定をします。
sshでローカルのコンソールからIBM Cloud環境のIBMiログインし、転送したid_rsa.pub ファイルをIBM iの.ssh/authorized_keys に追記します。
追記した後にchmodで権限の変更をし、exitコマンドで出ます。
上記の作業を以下のコマンドでやります。

ssh SAKURA@192.xxx.xxx.xx
SAKURA@192.xxx.xxx.xx's password: #IBM iのユーザープロファイルのパスワードを入力

$ pwd
/home/SAKURA
$cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 700 .
$ chmod 700 .ssh
$ chmod 600 .ssh/id_rsa.pub

$exit

ssh の鍵認証の失敗のほとんどは権限の設定もれらしいので権限の変更は絶対にやりましょう。

power VSとACSをトンネリングして繋ぐ

ACSのポートとpower VSのポート(正しくはIBM Cloudかも)を繋ぎます。
以下のコマンドをローカルのコンソールで入力します。
ちなみに私はMacでPuttyを使えないのでコマンド操作でやります。

sudo ssh -L 50000:localhost:23 -L 2001:localhost:2001 -L 2005:localhost:2005 -L 449:localhost:449 -L 8470:localhost:8470 -L 8471:localhost:8471 -L 8472:localhost:8472 -L 8473:localhost:8473 -L 8474:localhost:8474 -L 8475:localhost:8475 -L 8476:localhost:8476 -o ExitOnForwardFailure=yes -o ServerAliveInterval=15 -o ServerAliveCountMax=3 SAKURA@192.xxx.xxx.xx
Password: #Macのパスワード
SAKURA@192.xxx.xxx.xx's password: #IBMiのSAKURAのパスワード

※sudoじゃないと449が開かない、sudoで繋がらない時もたまにあるのでsudoを消去してやってみてください

WindowsだとPutty使えるみたい。
参考:https://qiita.com/gomAnomalocaris/items/9eb2ced60c9830704b65

ACSでの操作

接続先IPの設定

ACSを開き、管理>システム構成で自分のMacのIP(今回は127.0.0.1)を登録します。
image.png
新規のボタンから登録、システム名のところにIPを入れます。
スクリーンショット 2023-03-29 17.30.32.png

ポートの設定

一番上のIPを選択していることを確認したのち、5250エミュレーターを開きます。
スクリーンショット 2023-03-29 17.35.28.png
作成したIBM iの自分のユーザー名とパスワードでログインします。

その後通信>構成を開き、宛先ポートを50000に変更します。
スクリーンショット 2023-03-29 17.37.02.png

スクリーンショット 2023-03-29 17.37.54.png

入力したらOKを押して、再度ログインします。

こんな画面が出たらOKです!
スクリーンショット 2023-03-29 17.47.45.png

パスワード認証の停止

不正アクセス防止のためパスワード認証を停止します。
パスワード認証停止の詳しい記事は以下、今回は手順のみ記載します。
参考:https://qiita.com/6onoda/items/824d56250345ccd2b8c6

以下のコマンドを変更しパスワード認証をストップします

EDTF '/QOpenSys/QIBM/UserData/SC1/OpenSSH/etc/sshd_config'

#PasswordAuthntification yesの行を探して、PasswordAuthntification no に書き換えます。
書き換えるこんな感じ。
image.png

※コマンドがよくわからない場合は
WRKLNK /

で対象ファイルを5でどんどん開いていってもたどり着けます。
sshd_configを見つけたら2で開くと上のようにファイル編集できます。

image.png
↑こんな感じ

設定を変更したらSSHDサーバー再起動します。
以下のコマンドを入力します。

ENDTCPSVR SERVER(*SSHD)
STRTCPSVR SERVER(*SSHD)

Macでのコンソール操作

コンソールでパスワードなしで入れることを確認する

ssh接続してみます。

ssh SAKURA@192.xxx.xxx.xx

これで入れたら無事設定完了です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?