Many developers including myself use SSH (Secure SHell) every day when saving their code from their IDE of choice to a remote server. For instance, in Zend Studio you can set up an SSH connection to your IBM i and set the project you’re working on (which resides on your PC) to upload the php file (or js, css, html, etc.) to the server every time the file is saved. I’ve found this to be the most efficient way to program. Of course you can edit the actual file that resides on the server by setting up an FTP connection, but making changes becomes a much slower process.

Most other websites will tell you that all you need to do to get SSH started on your IBM i is one of the following two things:

For V6R1 and up:


For V5R3 and V5R4:

ssh-keygen -t rsa1 -f /QOpenSys/QIBM/UserData/SC1/OpenSSH/openssh-3.5p1/etc/ssh_host_key -N “”
ssh-keygen -t dsa -f /QOpenSys/QIBM/UserData/SC1/OpenSSH/openssh-3.5p1/etc/ssh_host_dsa_key -N “”
ssh-keygen -t rsa -f /QOpenSys/QIBM/UserData/SC1/OpenSSH/openssh-3.5p1/etc/ssh_host_rsa_key -N “”


/usr/sbin/sshd &

After doing this you can check whether SSHD is running by checking the network status (NETSTAT *CNN on the command line). If you don’t see “ssh” or port 22 listed, then the SSH daemon isn’t running. One thing that I’ve discovered is that on V6R1 the QUSRWRK subsystem must be running in order for STRTCPSVR *SSHD to work. So, if SSHD isn’t running, enter STRSBS SBSD(QUSRWRK) on the command line followed by STRTCPSVR *SSHD. Again, you can check NETSTAT *CNN for “ssh” or port 22.

Much of the information from this post came from Alan Seiden’s blog post and IBM’s SSH support document