Abr 19 2021

SSH, Shell Predeterminado e Historial de Commandos en AS400

Published by at 16:57 under AS400,SSH

QSHELL y PASE en IBM i son herramientas interesantes, pero siguen estando limitadas por la ventana 5250 de tamaño fijo sin elevación. Veamos cómo hacerlos más agradables con una conexión SSH segura y algunos consejos.

Inicie el demonio SSH

Tenga en cuenta que SSH ya está instalado en su AS400, es decir, tiene 5733SC1 (OpenSSH, OpenSSL, zlib) dans LICPGM, puede iniciar el demonio SSH con este comando:

STRTCPSVR SERVER(*SSHD)


No parece haber una opción de inicio automático para el servidor TCP SSH.
Terminé agregando el comando al programa de inicio QSTRUP para que el servidor SSH se inicie automáticamente al IPL. Puede conectarse a su AS400 con Putty que puedes descargar gratis.

Shell Predeterminado en SSH

El shell predeterminado es bsh, que es bastante limitado y poco común en otros sistemas operativos. Se puede cambiar en el archivo sshd_config (situado en /QOpenSys/QIBM/UserData/SC1/OpenSSH/openssh-4.7p1/etc) agregándo

#ibm pase for IBM i shell
ibmpaseforishell /QOpenSys/usr/bin/ksh

como se menciona en el sitio web IBM.

También se requiere ksh para que tenga el historial de comandos en la terminal.

Historial de Commandos

Una vez que ksh es el shell predeterminado, puede configurar las teclas de flecha para navegar por el historial de comandos. ¡No es necesario escribir los comandos una y otra vez!

En el directorio de inicio, cree un archivo .profile, el cual será cargado cada vez que conectase con ssh al AS400:

if [[ $SHELL = "/QOpenSys/usr/bin/ksh" ]]; then
  set -o emacs
  alias __A=`echo "\020"`     # up arrow = ^p = back a command
  alias __B=`echo "\016"`     # down arrow = ^n = down a command
  alias __C=`echo "\006"`     # right arrow = ^f = forward a character
  alias __D=`echo "\002"`     # left arrow = ^b = back a character
  alias __H=`echo "\001"`     # home = ^a = start of line
  alias __Y=`echo "\005"`     # end = ^e = end of line
fi


Reinicie el demonio SSH y vuelva a conectarse.
En la 1ª línea, comprobamos que el shell es realmente ksh ya que los cambios realizados solo se aplican a las conexiones SSH pero no a QSH o PASE (QP2TERM).

¡Connectar con Putty es más conveniente que llamar a QP2TERM en una ventana 5250 de tamaño fijo!
Puede hacer lo mismo con bash si se ha instalado en su sistema. Indicación: Instale 5733OPS Opción 3, gcc viene con bash, perl o rpm después de la instalación.


No responses yet

Comments RSS

Leave a Reply