PowerVS IBM i 日記(2): IBM Cloud の IBM Power Systems Virtual Server で IBM i を構築する(2)－PCOMMからの5250接続

#  IBM Cloud の IBM Power Systems Virtual Server で IBM i を構築する(2)－PCOMMからの5250接続
[前回](https://qiita.com/6onoda/items/e531050c3f8bf80132e5) は、コンソールでメイン・メニューを出すところまで進みました。
今回は、コンソール以外からの接続を実現したいと思います。
ますは、ポート 23 に接続すればいいIBM Personal Communications (PCOMM) で接続します。


## SSH トンネリングを使用したパブリック IP での接続

### IBM i の設定

今回の IBM i には、パブリックインターフェースしか作りませんでした。
その場合の接続方法として「[IBM i 仮想マシン (VM) への接続](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-connect-ibmi)」がガイドされています。


SSH トンネリングはSSHポートフォワーディングとも呼ばれます。
クライアントとサーバーの間に、SSHで暗号化したトンネルを用意してします。
トンネルの入り口は、自分の localhost 上で listen している TCP/IP のポート、出口はサーバーの特定ポートです。50000
例えば、localhost の  ポート 50000 に接続すると、サーバーのポート 23 (telnet) に接続するなどができます。
これにより、暗号化されていないプロトコルを  ssh の力で暗号化した通信にくるむことができます。
ただ、宛先事に自分の localhost 側のポートを、別にする必要があるので、サーバーが増えると面倒なのですが...

まず、作業用のユーザーを作ります。

```
CRTUSRPRF USRPRF(ADMIN) PASSWORD(PASSWORD) USRCLS(*SECOFR)
MKDIR DIR('/HOME/ADMIN')
```
**2020/09/14 追記: 
今回実装するパブリックインターフェースを利用した ssh トンネリングによる接続では、sshd が全世界に公開されます。
sshd を移動したら「[【重要】ssh のパスワード認証を停止し鍵認証に移行する](https://qiita.com/6onoda/items/824d56250345ccd2b8c6)」の様に 速やかに公開鍵認証への移行し、パスワード認証の停止をお勧めします。
パスワード認証中は今回の「ADMIN」のように一般的なユーザー名を利用してはいけません。パスワードが破られない場合でも *MAXSIGN で指定されている 3 回の不正アクセスの失敗でユーザーは *DISABLED になります。**

sshd をIBM i 側で起動します。また telnet も起動しておきます。

```
STRTCPSVR SERVER(*SSHD)
STRTCPSVR SERVER(*TELNET)
```

自動構成ができるようにシステム値も変更します。セキュリティを低下させるでっていなので、構成が完了したら戻すべきでしょう。

```
CHGSYSVAL SYSVAL(QAUTOVRT) VALUE(100)
CHGSYSVAL SYSVAL(QLMTSECOFR) VALUE('0')
```


接続先はどこでしょう?
CFGTCPでは確認できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/767a0103-874c-2ded-df1b-ea1d919486c4.png)

仮想サーバーの詳細で確認可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/c86e6445-d3bd-b56e-11f5-9b4089960f63.png)



### 単純な トンネル設定で PCOMM から接続

IBMのガイドは、このようになっています。

```
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 <myuser>@<myIPaddress>
```

一番、単純化すると、こうですね。ローカルポートの 50000がサーバーの 23 (telnet) に転送されます。

```
ssh -L 50000:localhost:23 <myuser>@<myIPaddress>
```

IBM のガイドでは、WindowsではPuTTYを使う方法ガイドされていましたが、Windows 10なら標準のsshで大丈夫です

コマンドプロンプトに「$」が表示されました。

```
C:\Users\YASUHIROOnoda>ssh -L 50000:localhost:23 admin@158.175.XXX.XX
The authenticity of host '158.175.XXX.XX (158.175.XXX.XX)' can't be established.
ECDSA key fingerprint is SHA256:lO9VBg1LhU8FLFYdTFJxK3KxJPeh2UxS2lYeyBAj2Qk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '158.175.XXX.XX' (ECDSA) to the list of known hosts.
admin@158.175.XXX.XX's password:
$
```

ポート 50000 が待機しているのが分かります。

```
C:\Users\YASUHIROOnoda>netstat -an | findstr 50000
  TCP         127.0.0.1:50000        0.0.0.0:0              LISTENING
  TCP         [::1]:50000            [::]:0                 LISTENING
```
ACS ではなく、 IBM Personal Communications の Telne 5250 で接続します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/63bbb558-603c-6d90-bb12-ae0d9325a9fa.png)

ホストコードページは939にしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/26ba92cd-7f4a-f346-2103-eae44b877909.png)

サインオン画面が出ています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184930/b7f270a5-4f2e-0da1-61e8-736356beb90f.png)


PCOMMからの接続はポート23への設定だけでいいので、単純でいいですね。
次回は、ACS から接続できるといいですね。

---
当日記のIndexは[こちら](https://qiita.com/6onoda/items/f146c78c0c1bbe905a42)です。

---
許可の無い転載を禁じます。
この記事は筆者の個人的な責任で無保証で提供しています。
当記事に関してIBMやビジネスパートナーに問い合わせることは、固くお断りします。