IBM i のSSHサーバーが起動しません(no hostkeys available -- exiting)
Question
Vscodeを試そうと調べたところ、SSHサーバーを起動させる必要があるようでした。試しに起動しようとしたところうまくいきません。
以下のe-BELLNET記事を参考に、ホストコードページやCCSIDなどを変更し起動したところ、下記エラーが表示されSSHサーバーが起動しませんでした。
IBM i のSSHサーバーを起動する方法を教えてもらえませんか?
https://www.e-bellnet.com/category/technology/2506/2506-03.html
何か追加の設定などが必要なのでしょうか。

Answer
「sshd: no hostkeys available -- exiting」 は「キーファイルが無い」を意味しています。
システム上にキーファイルが作成されていないように思われます。
エミューレーターのホストコードページを939にしてジョブのCCSID を5035に設定した後に、以下をお試しいただけますでしょうか。
※下記手順の「=>」はCLコマンド、「->」はSHELLコマンドを意味しています。
キーファイルを作成してからSSHサーバーを開始します。
=> STRQSH
-> ssh-keygen -A
=> QSH CMD('/QOpenSys/usr/sbin/sshd')
→ NETSTAT OPTION(*CNN) でポート22の存在を確認
上記でキーファイルが作成できない(SSHDサーバーが起動しない)場合は下記を実行してください。
=> STRQSH
-> ssh-keygen -t rsa -N '' -f /QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_rsa_key
-> ssh-keygen -t dsa -N '' -f /QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_dsa_key
-> ssh-keygen -t ecdsa -N '' -f /QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_ecdsa_key
=> QSH CMD('/QOpenSys/usr/sbin/sshd')
→ NETSTAT OPTION(*CNN) でポート22を確認
ご参照サイト:「Starting the OpenSSH Server (SSHD)」
https://www.ibm.com/support/pages/starting-openssh-server-sshd
キーファイルの存在を事前に確認する場合には、下記4つのファイルが存在しているかをWRKLNKコマンドで確認する事になります。
/QOpenSys/usr/sbin/sshd
/QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_rsa_key
/QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_dsa_key
/QOpenSys/QIBM/ProdData/SC1/OpenSSH/etc/ssh_host_ecdsa_key
もし削除する場合、WRKLNKコマンドで「 4=除去」を実行する事になりますが、間違って他のフォルダーやファイルを削除してしまうとライセンス・プログラムの再インストールが必要になりますので、細心の注意にて行ってください。
by . あすと