IBM i example: Configure an RSE Connection

Overview

There are three alternative methods that may be used to create a Remote Systems Explorer connection.

Instructions

SSH Method:

Important: The SSHD Daemon must be running on the i5 to make this connection.  See SSHD instructions below.
  • In Studio, switch to the Remote System Explorer view.
  • Right click in the Remote Systems tab, and select New Connection.Select SSH Only and click Next.For Host name, put the ip address for your i5. 
  • Connection name will autofill with the host name, but you can change it to something more descriptive. 
  • Click Finish. 
  • You may be prompted to set up an SSH directory and list of known hosts in your Windows user directory.  If so, accept those options. 
  • When prompted, use your user profile and password to log on as you would to log into a 5250 session (see note).
Note:  SSH limits user ID and password to 8 characters.  If your user ID or password are longer than 8 characters, you can shorten them, or create a new user to use with SSH that has the same permissions as your user profile.

 

SSHD instructions:

V6R1 and higher:

For V6R1 and higher, the sshd daemon can be started with CL command STRTCPSVR SERVER(*SSHD) and ended with ENDTCPSVR SERVER(*SSHD). If they do not exist, the host key files will be generated when the sshd daemon is started.

V5R4:

Note: Before starting sshd for the first time, you will need to generate host keys.  See Host Keys instructions below.

To run the SSHD daemon on i5/OS:

  • The userid that starts the daemon must have *ALLOBJ special authority.
  • The userid that starts the daemon must be 8 or fewer characters long.

You can start the sshd daemon with this CL command:

QSH CMD ('/QOpenSys/usr/sbin/sshd')

Or you can use the command sshd in the PASE shell.  Run the following command in i5/OS to start the PASE shell:

CALL QP2TERM

Then, in the PASE shell, run this command:

sshd

To verify the SSHD daemon is running, enter this command in the PASE shell:

ps ax

The list of active processes should include 'sshd':

                                                                        
   PID    TTY STAT  TIME COMMAND 
 20849      – A     2:03 /usr/local/Zend/MySQL/bin/mysqld –defaults-file=/usr/ 
 20855      – A     0:26 /usr/local/Zend/Platform/bin/cache_clean -l /usr/local 
 20857      – A     0:01 /usr/local/Zend/Platform/bin/collector_center /usr/loc 
 20858      – A     0:00 /usr/local/Zend/Platform/bin/collector_center /usr/loc 
 20859      – A     0:00 /usr/local/Zend/Platform/bin/collector_center /usr/loc 
 23022      – A     0:00 sshd                                                   
 23159      – A     0:08 /usr/local/Zend/apache2/bin/httpd -k start             
 23160      – A     0:00 /usr/local/Zend/apache2/bin/httpd -k start  

Host Keys Instructions:

Run the following command in i5/OS to start the PASE shell:

CALL QP2TERM

Then, in the PASE shell, run these commands:

 

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 ""

Mapped Network Drive Method:

Set up a mapped network drive, and access it within Studio as you would a local drive.  You can learn how to set up a mapped network drive here:  

Mapping a network drive to your server

Note that in Studio version 8, the local connection (including mapped network drives) is no longer shown in the RSE perspective. However, a mapped network drive can be used to set the location for a new project. So, the mapped drive does not show in RSE, but it is still a valid way to connect to IFS for Studio.

In the PHP perspective, in the PHP Explorer pane, right click and select New -> PHP Project. In the dialog that appears, select the 'Create project at existing location (from existing source)' radio button. Browse, and find the mapped drive in the Browse dialog, and navigate to the folder you want to use on the IFS.

 

FTP Unix Parser Method:

Important:  At the time this article is written, the OS/400 parser for the Eclipse FTP server does not work correctly.  However, it is possible to use the Unix parser.  This procedure changes the default FTP list format from Library Objects to IFS Files, which may adversely affect other ftp clients connecting to the i5.

1.  Sign on to a 5250 session.  From the command line:  WRKSBSJOB SBS(QSYSWRK)

2.  Scroll down until you see the QTFTPnnnnn jobs.  Stay on this display as you do the following commands.

3.  CHGFTPA NAMEFMT(*PATH) CURDIR(*HOMEDIR) LISTFMT(*UNIX)

4.  ENDTCPSVR SERVER(*FTP)

5.  Use F5 to ensure that all QTFTPnnnnn jobs have ended.

6.  STRTCPSVR SERVER(*FTP)

7.  Go to Studio for Eclipse, and find the FTP connection in the Remote Systems tab, which can be seen in the PHP and Remote Systems Explorer perspectives.

8.  Right click the FTP connection, and select the option to Disconnect, if available.

9.  Right click the FTP connection, and select Properties.

10.  Under Connector Services, highlight FTP Settings.

11.  Find the parser property, and click where it says AUTO, then click the down arrow, to see a list.

12.  Select org.eclipse.rse.ftp.parser.Unix from the list (or just type it in if the list does not appear).

13.  Click OK.

14.  Right click the FTP connection, and select Connect.  If needed, enter the User and Password when prompted.  Expand Files to find the IFS root directory, which should now display correctly.