Use the Idokorro client to Telnet/SSH to intranet servers through your BES's Mobile Data Service.
The MidpSSH client [Hack #42] can be used to connect to computers on the Internet, but what about connecting to servers on your intranet? There is a client from Idokorro (http://www.idokorro.com/) called Idokorro Mobile SSH that can do just this. You must be a BES user to use this client on your intranet, since it uses the BlackBerry Enterprise Server's Mobile Data Service (BES/MDS) to connect. If you're a BlackBerry Web Client only user, you can set up TCP/IP [Hack #37] on your device and use this software in TCP-only mode.
Idokorro Mobile SSH is installed the same as most other applications: there is an over-the-air install or a download to install with Application Loader. Once installed, select the icon from your Home screen. The first time the software runs on your device, it will ask you whether you want the program to use your BES/MDS or TCP/IP for its network communication, as in Figure 4-22.
Notice the stern warning that is given for the connection type. It warns that the choice is permanent and the only way to change from BES/MDS to TCP/IP or vice versa is to reload the entire device. Whoa—that's pretty ominous! Is this just bad software design by Idokorro? Actually, no. The Black- Berry operating system is designed with security in mind and it is able to detect when an application that uses TCP/IP later switches to BES/MDS. When this situation is detected, the operating system disables the third-party application forever, or until you reload the entire device. This is to prevent applications from accessing corporate data and then immediately being able to make a connection to the Internet, presumably to steal proprietary data. Most vendors distribute two versions of their software, one solely for BES/MDS users and another for TCP/IP users. Idokorro has chosen not to take this route and, quite frankly, has made it a little less convenient for its users.
The connection settings screen for the Idokorro software is similar to the MidpSSH client, although there are important differences. The Idokorro client lets you control settings that MidpSSH doesn't. You can control line wrapping as well as the number of lines in the buffer for scrolling back. You can also specify your own colors for the foreground and background in your connection. You also have more control over which protocol you'd like to use when you connect. For example, the client lets you force the connection to connect using the SSH2 protocol.
You can use SSH2 with MidpSSH, but there will be quite a delay when the client negotiates the keys with the SSH server. Idokorro Mobile SSH overcomes this liability by using a built-in RIM library to perform the negotiation, which speeds up the key generation considerably.
Like most modern SSH clients for your computer, Idokorro will let you know when the server's key fingerprint is new or updated, as shown in Figure 4-23. This serves as an alert that there could be a security issue or DNS tomfoolery.
The Idokorro client seems more polished than the MidpSSH client when making connections. For one, it respects some of the usability conventions of the BlackBerry. For example, the client allows you to use the Enter key instead of having to use the trackwheel to access the menu when performing the default function. You'll also notice familiar dialog boxes like Save, Discard, or Cancel when you've made a change without saving. This is a refreshing change from the far too many third-party BlackBerry applications that show no regard for these usability guidelines.
The software gives excellent status and feedback as you attempt to make a connection to a remote machine. There is also a nice label at the bottom of the connection screen reminding you which machine you're currently connected to (see Figure 4-24).
That label becomes your text input area when you type commands. Simply start typing a command and the label disappears and your command appears in its place (see Figure 4-25). Hit the Enter key when you've completed your command to send it to the remote machine. This is far more usable that the MidpSSH client in which you have to click the trackwheel a minimum of twice to enter a single command.