home *** CD-ROM | disk | FTP | other *** search
/ back2roots/filegate / filegate.zip / filegate / info / Java-SSH-client / README < prev   
Text File  |  2000-04-07  |  40KB  |  816 lines

  1. ==========
  2. = README =
  3. ==========
  4.  
  5. 1.OVERVIEW
  6.  
  7. From the beginning ssh was designed to be a replacement for the rsh/rcp/rlogin
  8. progmrams on UNIX computers to basically do what they do (i.e. remote login and
  9. copying files between UNIX hosts) but in a secure way, basically using strong
  10. cryptography to protect traffic from eavesdropping and optionally offering
  11. stronger authentication with RSA-keys. Symmetric-key exchange aswell as
  12. ssh-server authentication is allways done using RSA public key encryption. The
  13. ability to provide transparently encrypted tunnels was also added. With this
  14. ability other, non-secure programs, based on tcp-connections, could also be used
  15. securely over insecure networks. For more detailed information about how the
  16. ssh-protocol works and what benefits it provides see here:
  17.  
  18. http://www.employees.org/~satch/ssh/faq/ssh-faq-2.html
  19. http://www.sunworld.com/sunworldonline/swol-02-1998/swol-02-security.html
  20.  
  21. SSH has overtime become a defacto standard for remote administration and access
  22. to all sorts of systems. With that has also come the need for clients for other
  23. platforms than UNIX. This need has only partly been fulfilled with the great
  24. variety of free and commercial clients, mostly for Win95/98/NT, that have
  25. emerged. The goal of MindTerm is to provide a single client for all platforms
  26. that can be used in a simple way to leverage the benefits of the ssh-protocol.
  27.  
  28. Not only does MindTerm offer the ability to run on many different platforms, it
  29. also offers the unique advantage of beeing accessible through a normal
  30. web-browser as a java-applet. This is invaluable for persons who are mobile and
  31. can't install ssh-clients wherever they go. This means that an
  32. organization/company can give its members/employees access to a secure
  33. login-shell aswell as secure tunnels for e.g. ftp, smtp, pop, imap from "the
  34. road" using only a normal web-browser, hence no installation is required on the
  35. client side.
  36.  
  37. Apart from this MindTerm also offers some other unique features, such as
  38. ftp-proxying, built in scp file-transfer, functionality for usage on multi-homed
  39. hosts, connection keep-alive et.c. which is not part of standard ssh-clients. It
  40. can also be used to automate ssh-access with scripts running it
  41. non-interactively without a GUI, much like the standard unix ssh-client.
  42.  
  43. MindTerm can be heavily customized for specific needs, e.g. slimmed-down to
  44. support only one block-cipher and have no menus (size can shrink to <150k). When
  45. the local file system is not accessible or local configuration files are not
  46. desired, one can set all parameters on the command-line or through
  47. applet-parameters. Optionally MindTerm can execute a single command (e.g. pine
  48. or Midnight Commander) on the ssh-server, when the command completes MindTerm
  49. exits. This can be done both when running it stand-alone (like when running the
  50. normal unix ssh-client) AND when run as an applet.
  51.  
  52.  
  53. 2.QUICKSTART
  54.  
  55. By default MindTerm handles most things automatically for you. Settings are by
  56. default handled on a per-server basis automatically saved and loaded as
  57. needed. MindTerm saves all its settings in its home-directory, this is by
  58. default set to the users home-directory appended with "/mindterm/",
  59. (e.g. /home/mats/mindterm). Apart from settings-files this directory contains
  60. the 'known_hosts' file (used for server identification) and the RSA identity
  61. files (used with the RSA authentication method). To change the home-directory of
  62. MindTerm you must give the directory to use as a command-line parameter
  63. (e.g. --h /home/mats/.ssh) or with an applet parameter (e.g. <param name=sshhome
  64. value="c:\ssh\">).
  65.  
  66. For convenience you can start MindTerm with all settings needed on the
  67. command-line (or as applet-parameters). This can be useful for example to create
  68. double-clickable short-cuts for running MindTerm with a specific setting. If you
  69. don't want to list all parameters you can also just point to a file which
  70. contains the settings you need, as an example in Win95/98/NT:
  71.  
  72. javaw -cp c:\mindterm\mindtermfull.jar --q --f c:\mindterm\companyssh.mtp --p none --m no pine
  73.  
  74. This will launch MindTerm with the settings found in the file
  75. 'c:\mindterm\companyssh.mtp', directly connecting to the server (not prompting
  76. for server/username) and running the pine mail program to read mail, when you
  77. exit the pine program MindTerm is exited. (NOTE: in this example the
  78. settings-file must contain the line 'forcpty=true' since otherwise we can't run
  79. a command which needs a non-dumb console see 4.3.1).
  80.  
  81. The above command can of course be saved as a windows-shortcut (note that the
  82. javaw runtime from Javasoft does not start a DOS-shell for console which might
  83. be convenient). If you for some reason don't want to download the JDK from
  84. Javasoft, many operating systems come with a java-runtime preinstalled
  85. (e.g. Win95/98/NT that have IE4 or later has the jview runtime, MacOS 8 and
  86. later have the MRJ runtime installed). The above example from windows could be
  87. rewritten as:
  88.  
  89. jview /cp:p c:\mindterm\mindtermfull.jar --q --f c:\mindterm\companyssh.mtp --p none --m no pine
  90.  
  91. And saved as a shortcut, and it would run on most windows-machines without
  92. having to download a separate java runtime. However, for windows we recommend
  93. using the runtimes supplied from Javasoft for best results (see paragraph 3. for
  94. more info on where to get java runtimes and paragraph 6. for more info on how to
  95. run MindTerm stand-alone).
  96.  
  97. To create a short-name for a server (and/or multiple settings for a single
  98. server) you can disable autosave/load (Settings -> Auto Save/Load Settings) and
  99. create a new session (e.g. with menu-choices File -> Connect... -> New Server),
  100. connect to the server (optionally setting up tunnels as neeeded, see 4.4). Then
  101. you can save the settings to file with a short name using (File -> Save As...),
  102. don't forget the extension '.mtp'. If you choose to save the file in the
  103. home-directory (see below) of MindTerm, this settings-file can be used by giving
  104. the name of it (without the '.mtp' extension) at the "SSH-server:" prompt or
  105. with (File -> Connect...) where it will automatically show up. Another way to
  106. create a new settings-file is of course to connect to an existing server (one
  107. which you allready have a settings-file for) and do (File -> Save As...), then
  108. you can manually edit the file to your need. Just remember, settings-files must
  109. have the extension '.mtp' and reside in the home-directory of MindTerm.
  110.  
  111. All settings in MindTerm have decent default values, normally you can run it
  112. without any parameters. One thing you might want to enable for convenience
  113. though is the quiet-mode (see paragraph 6. and 7.).
  114.  
  115.  
  116. 3.INSTALLATION
  117.  
  118. In order to use this program as a standalone client please download the file
  119. 'mindtermbin.zip' or compile the source-files (optionally bundling them into a
  120. jar-file). You also need the java-runtime (jdk or jre) from Javasoft or any
  121. other party providing a port for your platform. It should work with any 1.1.x or
  122. 1.2 jdk/jre (it also works with Netscape's and Microsofs's browser-supplied
  123. java-runtimes). Please read the installation notes for your respective platform
  124. before trying to run MindTerm (also read about running java-programs with the
  125. runtime including running programs residing in a jar-file). See paragraph 6. for
  126. further details about how to run MindTerm stand-alone.
  127.  
  128. Examples of where java-runtimes can be found:
  129.  
  130. Linux:
  131.     http://www.blackdown.org/java-linux.html
  132.     http://www.alphaworks.ibm.com/tech/linuxjvm
  133.  
  134. Win32 and Solaris:
  135.     http://www.javasoft.com/products/
  136.  
  137. Macintosh:
  138.     http://www.apple.com/java/
  139.  
  140. Other platforms:
  141.     http://java.sun.com/cgi-bin/java-ports.cgi
  142.  
  143. To use as an applet please download file 'mindtermbin.zip' or compile the
  144. source-files (optionally bundling them into a jar-file). Assuming you have the
  145. jar-file (e.g. mindterm.jar) you must write an html-page as in the example in
  146. paragraph 7. below. If you are using a cryptographically signed binary version
  147. of MindTerm as an applet from your Netscape or IE browser you will be able to
  148. use it exactly as the stand-alone version (or any other ssh-client),
  149. i.e. connect to any host, set up tunnels, save/load settings from file, use
  150. system clip-board etc. The applet might also be given these permissions
  151. "manually" depending on your browser/appletviewer.
  152.  
  153. Please read this entire text before starting to use MindTerm! Good luck, some
  154. would say you'll need it! :-)
  155.  
  156.  
  157. 4.MENUS
  158.  
  159. The easiest way to learn how MindTerm works and what features it provides is to
  160. look through this brief walk-through of all menus in MindTerm. Given within
  161. parentheses is the keyboard short-cut for each menu item where one exists.
  162.  
  163. 4.1 File
  164. 4.1.1 New Terminal (Ctrl+Shift+N)
  165. This will create a new MindTerm window with the same settings as the first
  166. MindTerm window of this session, i.e. all parameters (command-line or applet)
  167. given to MindTerm at startup will have effect in each new terminal created.
  168.  
  169. 4.1.2 Clone Terminal (Ctrl+Shift+O)
  170. This will create a new MindTerm window with the exact same settings as the
  171. window it is created from. If the window contains a connected session, the new
  172. window will be automatically logged in to the same ssh-server (using the same
  173. authentication as was used in the original window). Note that the new window
  174. will not have any open tunnels since the window from where it is created have
  175. the tunnels opened allready (preventing the new window from opening them).
  176.  
  177. 4.1.3 Connect... (Ctrl+Shift+C)
  178. This launches the Connect dialog. From this dialog you may either select to
  179. connect to a host whose settings you have saved or you may create settings for a
  180. new host. Note when selecting "New Server" a new dialog is shown which is
  181. identical to the one described in '4.3.1 SSH Connection...'.
  182.  
  183. 4.1.4 Disconnect (Ctrl+Shift+D)
  184. This forces the current session to be disconnected. Note that this will cause
  185. all tunnels to be closed and the shell to be abandonded without logging out. The
  186. preferred way to disconnect is to logout in the shell.
  187.  
  188. 4.1.5 Load Settings...
  189. Loads settings from a file (extension .mtp) without connecting to the server.
  190.  
  191. 4.1.6 Save Settings (Ctrl+Shift+S)
  192. Saves current settings.
  193.  
  194. 4.1.7 Save Settings As...
  195. Creates a new settings file and saves current settings to it. Useful for
  196. creating a short name for a server, or for having more than one set of settings
  197. for a specific server.
  198.  
  199. 4.1.8 Create RSA Identity...
  200. Creates an RSA identity to be used with authentication type 'rsa' or
  201. 'rhostsrsa'. Two files are created, one containing the private key (default name
  202. 'identity') and one containing only the public key (default name
  203. 'identity.pub'). The contents in the file with the extension .pub must be copied
  204. to the file 'authorized_keys' on the server (typically found in ~/.ssh/). These
  205. RSA key-files are identical to the ones used with the unix version of ssh.
  206.  
  207. 4.1.9 SCP File Transfer...
  208. In this dialog you can choose files and/or directories to transfer to or from
  209. the ssh-server. Local file(s)/dir(s) is a space-separated list of files and/or
  210. directories (if a name contains a space enclose it in quotes like: "a file with
  211. spaces"). Normal regexp's can't be used for local files/dirs, however names can
  212. be given with ONE wild-card ('*') in it (e.g. '*.foo' or foo*bar). If absolute
  213. path-names are not given the current directory is assumed (defaults to
  214. MindTerm's home-directory). If the first file/directory given conatains an
  215. absolute path-name this directory is used as current-directory for the rest of
  216. the list (e.g. the list '/tmp/foo* *.bar' will expand to all files starting with
  217. 'foo' or ending with '.bar' in the directory '/tmp'). Remote files(s)/dir(s) are
  218. given EXACTLY as they would be with the standard unix scp-client (i.e. regexps
  219. can be used). The directory assumed on the remote side is the user's
  220. home-directory (i.e. just like with the standard unix scp-client).
  221.  
  222. To change direction of the copy-operation press the "Change Direction" button
  223. (the direction is indicated with the strings '(source)' and '(destination)'
  224. after the respective side.
  225.  
  226. If directories are to be traversed enable "Recursive copy". To make the
  227. copy-operation use as little bandwidth/CPU as possible set it to be "Low
  228. priority". Press "Start Copy" to start the copy operation. This will launch a
  229. small window with progress and statistics of the copy operation. A
  230. copy-operation can be canceled at any time by pressing the "Cancel" button in
  231. this window.
  232.  
  233. 4.1.10 Capture To File...
  234. Captures terminal-output to a file. Capture starts immediately when the file has
  235. been selected and ends when this menu item is selected again. Note that while
  236. capturing is active this is indicated by the menu item beeing selected.
  237.  
  238. 4.1.11 Send ASCII File...
  239. This will send the contents of the selected file to the terminal as input
  240. (i.e. would be the same as if the contents were typed from the keyboard)
  241.  
  242. 4.1.12 Close (Ctrl+Shift+E)
  243. Closes this window. Note that when closing a window without logging out you are
  244. aborting the ssh-connection abnormally, i.e. it is advisable to logout in the
  245. shell before closing/exiting MindTerm.
  246.  
  247. 4.1.13 Exit (Ctrl+Shift+X)
  248. Closes all windows and exits MindTerm. Note that when closing windows without
  249. logging out you are aborting the ssh-connection abnormally, i.e. it is advisable
  250. to logout in the shell before closing/exiting MindTerm.
  251.  
  252.  
  253. 4.2 Edit
  254. Note, the system clip-board is not available to applets by default. In this case
  255. a local (to MindTerm) clip-board is used. Also note that in some implementations
  256. of the java runtime the clip-board does not work with the system clip-board.
  257.  
  258. 4.2.1 Copy (Ctrl+Ins)
  259. Copies selected text to clipboard. Selection is done by clicking and holding down
  260. left mouse-button while dragging the mouse over the area to select.
  261.  
  262. 4.2.2 Paste (Shift+Ins)
  263. Pastes the contents of the clipboard to the terminal as input (i.e. would be the
  264. same as if typed from keyboard)
  265.  
  266. 4.2.3 Copy & Paste
  267. Does a copy followed by a paste.
  268.  
  269. 4.2.4 Select All (Ctrl+Shift+A)
  270. Selects all content in scrollback buffer and in terminal. Note, this operation
  271. is very time-consuming right now.
  272.  
  273. 4.2.5 Find... (Ctrl+Shift+F)
  274. Shows Find dialog from which the scrollback buffer and terminal contents can be
  275. searched for words. The search can be done case sensitive or case
  276. insensitive. Each word found is hightlighted. The "bell" is sounded when no more
  277. matches is found.
  278.  
  279. 4.2.6 Clear Screen
  280. Clears screen and sets cursor position to upper left corner.
  281.  
  282. 4.2.7 Clear Scrollback
  283. Clears contents of scrollback buffer.
  284.  
  285. 4.2.8 VT Reset
  286. Resets terminal-settings to default (e.g. clears line-draw graphics mode which
  287. might be mistakenly set by displaying a binary file).
  288.  
  289.  
  290. 4.3 Settings
  291. 4.3.1 SSH Connection... (Ctrl+Shift+H)
  292. In this dialog you can set all ssh parameters. To view all options click the
  293. button "More options...". When connected you can set the parameters for the
  294. current session. Note that some changes wont take effect until the next time you
  295. connect to this server. When not connected a new session is created if one is
  296. not found with the name of the server. In this case it is the same dialog that
  297. is shown when selecting "New Server..." from the Connection dialog (see 4.1.3).
  298.  
  299.   The parameters set in this dialog are (names as given in paragraph 5.):
  300.  
  301.   server    Name (ip-address) of ssh-server
  302.   port      Port which ssh-server listens on
  303.   usrname   User name to login as on ssh-server
  304.   cipher    Name of block-cipher to use, or if 'none' is selected no encryption
  305.             (note, no encryption is normally not supported by the ssh-server)
  306.   authtyp   Method of authentication, or if 'custom...' is selected a comma-
  307.             separated list of methods to try in order given
  308.   x11fwd    Selects whether to allow X11-connections to be forwarded or not
  309.   display   The local X11 display to forward X11 connections to
  310.   mtu       Maximum packet size to use
  311.   alive     Keep alive interval in seconds to use
  312.   portftp   Enables port-commands to be used with FTP-tunnels, don't enable this
  313.             if you are not sure what you are doing
  314.   realsrv   Real ip-address of ssh server if it is behind address translation
  315.             (used when 'portftp' is enabled)
  316.   localhst  Address to listen on for local tunnels (see 4.4)
  317.   idhost    Sets whether to verify identity of the ssh-server using its host-key
  318.             through matching with saved value in the file 'known_hosts'
  319.   forcpty   Force allocation of PTY, e.g. necessary to enable when executing a
  320.             single command on the ssh-server that requires a non-dumb terminal
  321.   prvport   Used to force the local outgoing port of the connection to the ssh-
  322.             server to use a so called privileged port (i.e. < 1024)
  323.   remfwd    Enables other hosts than the one running MindTerm to connect through
  324.             ssh-tunnels
  325.  
  326.  
  327. 4.3.2 Terminal... (Ctrl+Shift+T)
  328. In this dialog you can set the basic terminal parameters, such as terminal type,
  329. size, font and colors. The initial window position can optionally also be
  330. set. It is given as a string with the syntax <+/-><x-position><+/-><y-position>
  331. a negative sign means it's relative to the right or bottom. A value of zero
  332. means aligned to the border (i.e. left, right, top, bottom) e.g. +0-0 means
  333. aligned to bottom right corner.
  334.  
  335.   The parameters set in this dialog are (names as given in paragraph 5.):
  336.  
  337.   te    Terminal type
  338.   gm    Terminal geometry, number of lines, columns and optionally initial position
  339.   fg    Foreground color, name or when 'custom rgb' is selected an rgb-value
  340.   bg    Foreground color, name or when 'custom rgb' is selected an rgb-value
  341.   cc    Cursor color, name or when 'custom rgb' is selected an rgb-value
  342.  
  343.  
  344. 4.3.3 Terminal Misc... (Ctrl+Shift+M)
  345. This dialog contains some extra settings for the terminal.
  346.  
  347.   The parameters set in this dialog are (names as given in paragraph 5.):
  348.  
  349.   sl    Number of lines to save in scrollback buffer
  350.   sb    Position of scrollbar, or disable scrollbar
  351.   sd    String containing delimeter characters that are used when "click-selecting"
  352.         "words", i.e. which characters functions as word-delimeters
  353.   bs    Indicates whether backaspace or delete should be sent when backspace-key is
  354.         pressed
  355.   de    Indicates whether backaspace or delete should be sent when delete-key is
  356.         pressed
  357.  
  358.  
  359. 4.3.4 Local Command-Shell
  360. Starts the local command-shell from which one can view and set all parameters of
  361. MindTerm. The command-shell is really only useful if you don't have menus
  362. (e.g. when running without a GUI) but for completeness it is available
  363. here. Note, the command-shell is only available if enabled with command-line
  364. option '--c' or applet-parameter 'cmdsh'.
  365.  
  366. 4.3.5 Auto Save Settings
  367. Enables/disables automatic saving of settings, when disabled you must explicitly
  368. save settings to file when needed. When enabled settings are saved whenever you
  369. disconnect from a server or when you exit MindTerm. Note that when both
  370. auto-save and auto-load is enabled (which is default), settings-files are
  371. created automatically and the user never have to worry about saving/loading
  372. them.
  373.  
  374. 4.3.6 Auto Load Settings
  375. Enables/disables automatic loading of settings. When disabled you must
  376. explicitly load settings from file if you need to. When enabled, MindTerm tries
  377. to load a settings-file with the same name as what you give at the "SSH Server:"
  378. prompt or in the (Settings -> SSH Connection...) dialog. These files are located
  379. in the MindTerm home-directory. Thus the "server" you give at the prompt does
  380. not necessarily have to be the name of the server, it is mainly the name of the
  381. settings-file to load. Normally the user does not have to worry about the
  382. settings-files since it is handled automatically. Though to create short-names
  383. for servers and to create multiple settings-files for a single server you have
  384. to explicitly create settings-files.
  385.  
  386.  
  387. 4.4 Tunnels
  388.  
  389. 4.4.1 Basic...
  390. In this dialog you can set up (local) tunnels to use. When connected the tunnel
  391. is created instantly and ready to use. Tunnels you create here are saved in the
  392. settings-file of the current session if you are using settings-files. The
  393. protocol selection is mostly a convenience function, note however that to create
  394. FTP-tunnels the protocol should be set to ftp (otherwise the tunnel wont have
  395. the ftp-plugin enabled). The local port to set is any unused port, this will be
  396. the port that you point programs that want to use the tunnel to. By default
  397. tunnels will be set up to listen on all local addresses (i.e. 127.0.0.1 and the
  398. local host address). In the dialog "SSH Connection..." under "More options..."
  399. you can set the address to use as local address, i.e. if you want the tunnels to
  400. listen on 127.0.0.1 only you can set that there. Also, using the "Advanced..."
  401. tunnels dialog (see 4.4.2) you can set the local address on a per tunnel basis,
  402. i.e. have more than one tunnel on a single port using different local
  403. addresses. The remote host is the address of the server that will answer
  404. connections to the tunnel in the ssh-server end of the connection, likewise the
  405. remote port is the port on which it answers. To remove a tunnel just select it
  406. and click "Delete". To add a tunnel fill in all the fields and click
  407. "Add". Note, you can double-click on a tunnel-specification to copy its values
  408. to the fields making it convenient to add/delete/edit tunnels.
  409.  
  410. 4.4.2 Advanced...
  411. This dialog is mainly for advanced users who know the details about using
  412. ssh-tunnels and their capabilities/limitations. With it you have can set up both
  413. local (as with the "Basic..." dialog) and remote tunnels, note that remote
  414. tunnels are not opened until the next time you connect. The syntax for defining
  415. tunnels in this dialog is the same as with entering them on the command-line or
  416. as applet-parameters (see 5.). Note, for local tunnels you can here set the
  417. explicit local address that the tunnel will listen on, regardless of the setting
  418. of the "localhst" parameter. As in the "Basic..." dialog you can double-click to
  419. copy a definition-string to the edit-box.
  420.  
  421. 4.4.3 Tunnel Wizard...
  422. Huh, do we need wizards around here, any magic needed?!? :-)
  423.  
  424. 4.4.4 Current Connections...
  425. This dialog lists the currently open connections through the tunnels you have
  426. set up. Note that it doesn't list the tunnels themselves, only active
  427. connections through them. You can close a tunnel by selecting it and clicking
  428. close.
  429.  
  430.  
  431. 4.5 Help
  432.  
  433. 4.5.1 Help Topics...
  434. Well, you have this file haven't you? :-)
  435.  
  436. 4.5.2 About MindTerm
  437. Check here for info, especially build date/version and which platform you are
  438. running on when reporting bugs.
  439.  
  440.  
  441. 5.PARAMETERS
  442.  
  443. When started either as an applet or as a stand-alone program MindTerm is fully
  444. configurable. You may supply all settable parameters (see below) on the
  445. command-line (see 6.) or as applet-params (see 7.). Additionally when access to
  446. the local file system is available you can choose to save all settings to file
  447. on a per server basis, i.e. each new ssh-server you connect to will have its
  448. settings in a separate file, note this is by default done automatically if local
  449. file system is accessible.
  450.  
  451. SSH-parameters:
  452. (all these can be set to values in parenthesis where applicable)
  453. server   : name of server to connect to (N/A)
  454. realsrv  : real address of sshd if it is behind a firewall, only used with
  455.            protocol-plugins (N/A)
  456. localhst : address to use as localhost (N/A)
  457. port     : port on server to connect to (0-65535)
  458. usrname  : username to login as (N/A)
  459. cipher   : name of block cipher to use ( none idea des 3des rc4 blowfish )
  460. authtyp  : method of authentication ( rhosts rsa passwd rhostsrsa tis kerberos kerbtgt )
  461. idfile   : name of file containing identity, rsa-keys (N/A)
  462. display  : display definition, i.e <host>:<screen> (N/A)
  463. mtu      : maximum packet size to use, 0 means use default (4096 - 256k or 0)
  464. escseq   : sequence of characters to type to enter local command-shell (N/A)
  465. secrand  : level of security in random-seed, for generating session-key (0-2,
  466.            0 is lowest (default) and 2 is highest (very slow :-))
  467. (all these can be set to either 'true' or 'false')
  468. alive    : Connection keep-alive interval in seconds (0-600, 0 means none)
  469. x11fwd   : indicates whether X11 display is forwarded or not (true/false)
  470. prvport  : indicates whether to use a privileged source port or not (true/false)
  471. forcpty  : indicates whether to allocate a pty or not (true/false)
  472. remfwd   : indicates whether we allow remote connects to local forwards (true/false)
  473. idhost   : indicates whether to check hosts host-key in 'known_hosts' (true/false)
  474. portftp  : indicates whether to enable ftp 'PORT' command support (true/false)
  475.  
  476. Terminal-parameters:
  477. (all these can be set to either 'true' or 'false')
  478. rv       : reverse video
  479. aw       : autowrap of line if output reaches edge of window
  480. rw       : reverse autowrap when going off left edge of window
  481. im       : insert mode
  482. al       : do auto-linefeed
  483. sk       : reposition scroll-area to bottom on keyboard input
  484. si       : reposition scroll-area to bottom on output to screen
  485. lp       : use PgUp, PgDn, Home, End keys locally or escape them to shell
  486. sc       : put <CR><NL> instead of <NL> at end of lines when selecting
  487. vi       : visible cursor
  488. ad       : ASCII Line-draw-characters
  489. le       : do local echo
  490. sf       : scale font when resizing window
  491. vb       : visual bell
  492. ct       : map <ctrl>+<space> to <NUL>
  493. dc       : toggle 80/132 columns
  494. da       : enable 80/132 switching
  495. cs       : copy on mouse-selection
  496.  
  497. (all these can be set to values in parenthesis where applicable)
  498. fn       : name of font to use in terminal (N/A)
  499. fs       : size of font to use in terminal (N/A)
  500. gm       : geometry of terminal (as x geometry string)
  501. te       : name of terminal to emulate ( xterm linux scoansi att6386 sun vt220
  502.            vt100 ansi vt52 xterm-color linux-lat  at386   vt102 )
  503. sl       : number of lines to save in "scrollback" buffer (0-8192)
  504. sb       : scrollbar position (left, right, none)
  505. bg       : background color (black, red, green, yellow, blue,
  506.            magenta, cyan, white, or one of these with 'i_' before
  507.            for intensified version e.g. i_white, OR you may use an
  508.            arbitrary RGB-value such as: 125,102,247)
  509. fg       : foreground color (same as 'bg')
  510. cc       : cursor color (same as 'fg'/'bg')
  511. rg       : resize gravity, fixpoint of screen when resizing (top, bottom)
  512. bs       : character to send on BACKSPACE (BS, DEL)
  513. de       : character to send on DELETE (BS, DEL)
  514. sd       : delimeter characters for click-selection (N/A)
  515.  
  516. There are also special parameters to configure the tunnels, these are:
  517.  
  518. local0, local1, ... ,localN
  519. remote0, remote1, ... ,remoteN
  520.  
  521. Their syntax is as follows:
  522.  
  523. localN   : [/<plugin>/][<local-ip>]:<local-port>:<remote-ip>:<remote-port>
  524. remoteN  : [/<plugin>/]<remote-port>:<local-ip>:<local-port>
  525.  
  526. They are enumerated, i.e. if you have three local-forward-definitions they will
  527. be local0, local1 and local2. The same goes for remoteN. These properties are
  528. used in the exact same way as all other properties (i.e. they can either be
  529. entered on the command-line, as applet-params or in the settings-files).
  530.  
  531. For example to set up tunnels to telnet, imap and smtp on the local ports 4711,
  532. 4712 and 4713 to the remote side:
  533.  
  534. java -cp mindbright.jar mindbright.application.MindTerm -server www.mindbright.se
  535.     -local0 4711:localhost:23 -local1 4712:localhost:143 -local2 4713:localhost:25
  536.  
  537. (NOTE: 'localhost' here means "locally" on the ssh-server, i.e. the telnet,
  538. imap, and smtp servers all run on the same machine as the ssh-server)
  539.  
  540. There is also an optional (activated with '--c' or 'cmdsh') local command shell
  541. where all settings can be viewed and/or altered.  To enter this command-shell
  542. you press ctrl-D at the prompt (i.e. before having logged in) or you can select
  543. the 'Local Command Shell' option in the 'Settings' menu.  If you are running in
  544. "dumb" mode you might have to press ENTER after pressing ctrl-D.
  545.  
  546. This is what is displayed when entering the command-shell:
  547.  
  548. ...entering local command-shell (type 'h' for help).
  549.  
  550. mindterm> h
  551.  
  552. The following commands are available in the command-shell:
  553.  
  554. go                                    Start SSH-session with current settings.
  555. quit                                  Quit program (or disconnect if connected).
  556. add <l|r> [/<plug>/]<port>:<host>:<port>  (see below).
  557. del <l|r> <listen-port>|*             Delete local/remote forward (* = all).
  558. list [ssh | term]                     Lists ssh- and/or terminal-settings.
  559. set [<parameter> <value>]             Set value of a ssh-parameter.
  560. tset [<parameter> <value>]            Set value of a terminal-parameter.
  561. key [<bits>]                          Generate RSA key-pair (of length <bits>).
  562. help                                  Display this list, but you knew that :-).
  563.  
  564.  
  565. 6.STANDALONE USAGE
  566.  
  567. 6.1
  568. When run as a standalone application MindTerm takes two types of command-line
  569. options. One type is preceeded with a single hyphen ('-').  These are the
  570. parameters (see 5.) followed by their respective value, for example:
  571.  
  572. java -cp mindbright.jar mindbright.application.MindTerm -server www.mindbright.se -port 22 -x11fwd true -authtyp rsa
  573.  
  574. The other type of options are given with two preceeding hyphens ('--'). These
  575. are the special standalone options. When run with the standalone option '--?'
  576. the following is displayed:
  577.  
  578. usage: MindTerm [options] [properties] [command]
  579. Options:
  580.   --c            Enable local command-shell.
  581.   --d            No terminal-window, only dumb command-line and port-forwarding.
  582.   --f <file>     Use settings from the given file.
  583.   --h dir        Name of the MindTerm home-dir (default: ~/mindterm/).
  584.   --m <no | pop | popN>
  585.                  Use no menus or popup (on mouse-button N) menu instead of menubar.
  586.   --p <save | load | both | none>
  587.                  Sets automatic save/load flags for property-files.
  588.   --q            Quiet; don't query for server/username if given.
  589.   --v            Verbose; display verbose messages.
  590.   --D            Debug; display extra debug info.
  591.   --V            Version; display version number only.
  592.   --?            Help; display this help.
  593.  
  594. These are the valid standalone options.
  595.  
  596. The standalone options MUST be first among the java command-line options
  597. (right AFTER the java class-name). For example:
  598.  
  599. java -cp mindbright.jar mindbright.application.MindTerm --p both --h /home/mats/mindterm
  600.      -server www.mindbright.se -port 22 -x11fwd true -authtyp rsa
  601.  
  602. (NOTE: '-cp' in this example is a command-line option to the java runtime)
  603.  
  604. The parameters (the ones given with one preceding hyphen) are by default saved
  605. in settings files on a per server basis. The settings files are automatically
  606. loaded when connecting to a specific server. The automatic save and load feature
  607. can be disabled in which case settings must be explicitly loaded/saved. The
  608. settings file can also be manually edited, it's an ordinary text-file (java
  609. properties file).
  610.  
  611. Examples of how to start MindTerm as a standalone program:
  612.  
  613. Linux/jdk1.1.x:
  614.  
  615. /usr/local/java/bin/java -classpath /usr/local/java/lib/classes.zip:mindtermfull.jar mindbright.application.MindTerm
  616.  
  617.  
  618. Win32/jdk1.1.x:
  619.  
  620. c:\jdk1.1.x\bin\java -classpath c:\jdk1.1.6\lib\classes.zip;c:\mindbright\mindtermfull.jar mindbright.application.MindTerm
  621.  
  622.  
  623. Win32/jre1.1.x:
  624.  
  625. c:\jdk1.1.x\bin\java -cp c:\mindbright\mindtermfull.jar mindbright.application.MindTerm
  626.  
  627.  
  628. Win32/jdk/jre1.2:
  629.  
  630. c:\jdk1.2.x\bin\java -cp c:\mindbright\mindtermfull.jar mindbright.application.MindTerm
  631.  
  632. c:\jdk1.2.x\bin\javaw -cp c:\mindbright\mindtermfull.jar mindbright.application.MindTerm
  633.  
  634. (NOTE: The javaw runtime version does not create a DOS-shell window for the
  635. console making it more convenient for "real" usage)
  636.  
  637.  
  638. Win32/jview: (microsoft's JVM supplied with IE4 and later)
  639.  
  640. jview /cp:p mindtermfull.jar mindbright.application.MindTerm
  641.  
  642.  
  643. MacOS/MRJ:
  644.  
  645. First get the JBindery application, it is found in the MRJ SDK here:
  646. http://developer.apple.com/java/text/download.html#sdk
  647.  
  648. Then drop the mindtermfull.jar file onto the JBindery icon and give it the
  649. class name mindbright.application.MindTerm. Save it and you are set to run
  650. MindTerm with just a double-click.
  651.  
  652.  
  653. Epoc32/jdk1.1.4 (e.g. on Psion5mx):
  654. TODO:
  655. For now see http://www.mindbright.se/mindterm/epochowto.txt
  656.  
  657.  
  658. 6.2 STANDALONE FILETRANSFER (SCP)
  659.  
  660. MindTerm contains an scp-client for file-transfer it can be used either
  661. interactively (see 4.1.9) or directly from the comand-line (just like the
  662. standard unix scp-client). To use it from the command-line you use the
  663. command-line option '--s' which takes an argument to determine direction of
  664. copy-operation 'toremote' or 'tolocal'. The command-line option '--r' is used to
  665. indicate that directories are to be recursed. All other command-line options
  666. work as described in (6.1). The command-line options given AFTER all MindTerm
  667. options are taken as the list of source-files and target-file/dir.  The LAST
  668. command-line option ALLWAYS denotes the target-file/dir. The biggest difference
  669. from the unix scp-client is that you can only copy to/from one remote host
  670. to/from localhost. To clarify, here are some examples (from unix):
  671.  
  672. java -cp mindtermfull.jar mindbright.application.MindTerm --s toremote localfile remotefile
  673.  
  674. This will copy file localfile to file remotefile on ssh-server.
  675.  
  676. java -cp mindtermfull.jar mindbright.application.MindTerm --s toremote --r localdir1 localdir2/*.mtp remotedir/
  677.  
  678. This will copy localdir1 and localdir2/*.mtp to the directory remotedir on the
  679. ssh-server (in the user's home-directory).
  680.  
  681. java -cp mindtermfull.jar mindbright.application.MindTerm --s tolocal --r remotedir/\*.mtp localdir/
  682.  
  683. This will copy remotedir/*.mtp from the ssh-server to the local directory localdir
  684.  
  685.  
  686. 7.APPLET USAGE
  687.  
  688. See page <http://www.mindbright.se/newssh.html> for an example on how to use the
  689. applet. As stated above all settable parameters may be set with applet-params,
  690. for example:
  691.  
  692. <applet archive="mindterm.jar" code=mindbright.application.MindTerm.class width=580 height=400>
  693. <!-- These parameters are parameters that are listed in paragraph 5. -->
  694. <param name=port value="22">
  695. <param name=cipher value="blowfish">
  696. <param name=gm value="80x32+0-0">
  697. <param name=forcpty value="true">
  698. <param name=local0 value="4711:wintermute:23">
  699. <param name=local1 value="/ftp/4712:wintermute:21">
  700. <!-- Any parameters listed in paragraph 5. can be included here -->
  701.  
  702. <!-- These parameters are special for the applet, most have an equivalent -->
  703. <!-- command-line option when run as a stand-alone client -->
  704. <param name=sepframe value="false"><!-- wheter to run in a separate frame or not -->
  705. <param name=verbose value="true"><!-- output verbose debug-info to java-console -->
  706. <param name=debug value="true"><!-- give more debug-info to java-console -->
  707. <param name=quiet value="true"><!-- quiet mode, don't query for server/username if given -->
  708. <param name=cmdsh value="true"><!-- enable/disable local command-shell -->
  709. <param name=menus value="pop2"><!-- enable/disable pulldown or popup menus -->
  710. <param name=autoprops value="both"><!-- enable/disable automatic save/load of settings -->
  711. <param name=propsfile value="c:\ssh\ourserver.mtp"><!-- file containing settings (properties) to load -->
  712. <param name=commandline value="mc -x -c"><!-- complete commandline if running a single command only -->
  713. <param name=sshhome value="c:\ssh\"><!-- If authorized to access local files, this is home-dir -->
  714. <param name=appletbg value="black"><!-- Color of unused space in Applet's Panel -->
  715. </applet>
  716.  
  717. You may give any number of parameters to the applet. You only have to supply the
  718. ones you want, all parameters have default values so you need not supply any
  719. parameters if you choose.
  720.  
  721. An applet may be run in basically three ways, namely; with an applet-enabled
  722. browser, with a java-plugin installed in a browser or with a standalone
  723. appletviewer. All three ways are perfectly legal ways of running MindTerm, note
  724. however that the html-code for running an applet using a java-plugin is not the
  725. same as for running it with an appletviewer or an applet-enabled browser.
  726.  
  727. Normally applets are for security reasons restricted to run within the so called
  728. java-sandbox. This puts some restrictions on what it can do. Basically when
  729. beeing run as an applet MindTerm can only provide a login-shell to the same
  730. ip-address that served the applet. In many cases this can manually be extended
  731. so that it can access local files and provide ssh-tunnels et.c.
  732.  
  733. Another way to make the applet have these restrictions lifted is to use a
  734. cryptographically signed applet. In this case the applet will function more or
  735. less as a normal stand-alone program.
  736.  
  737. (TODO: more on java-plugins, differences between browser-versions, signed
  738. applets)
  739.  
  740.  
  741. 8.USING FTP TUNNELS
  742.  
  743. To use the FTP-tunneling feature all you have to do is define a (local) tunnel
  744. that uses the ftp-plugin. Then you connect to the tunnel using a ftp-client that
  745. can be set to use "passive mode" transfers (most can do that). The easiest way
  746. to do this is to go to the (Tunnels -> Basic...) dialog and add a new tunnel
  747. with protocol set to ftp, this automatically sets the remote port to 21 which is
  748. the standard port on a UNIX server. The local port is set to an arbitrary unused
  749. local port. The remote host is the address of the ftp-server (as it is addressed
  750. from the ssh-server). When you have connected to the ssh-server you can use
  751. almost any ftp-client to access the ftp-server. For example in WS_Ftp on
  752. windows:
  753.  
  754. 1) Define a new "site" with address localhost (or the address you uses for
  755.    localhost, see 4.3.1 and 4.4.)
  756. 2) Go to "Site properties"
  757. 3) In "folder" advanced set "Remote Port:" to local port selected in MindTerm
  758. 4) Enable "Passive transfers"
  759.  
  760. When WS_Ftp connects to this new site, it connects through the ssh-tunnel in
  761. MindTerm, hence the ftp-server need not be reachable, e.g. if it is behind a
  762. firewall. To set up more than one ftp-server behind the same ssh-server, repeat
  763. the same procedure selecting different local ports for each new server (in both
  764. MindTerm and WS_Ftp).
  765.  
  766. Some ftp-clients can only use what is called ftp PORT-commands, these
  767. ftp-clients can only be used in a limited way with the ftp-tunneling in MindTerm
  768. (due to restrictions in the implementation, this might be changed in a future
  769. version of MindTerm). With these clients you must enable FTP Port
  770. command-support in MindTerm. This is done in the settings menu (see 4.3.1). If
  771. your ssh-server is behind a firewall that does address translations you must
  772. also set the real ip-address of the ssh-server for FTP Port commands to
  773. work. This is also done in the settings menu (see 4.3.1). When using FTP Port
  774. commands you can only do about 10 directory listings/downloads per minute
  775. (cumbersome but only way to do it if you don't want to make a lot of new
  776. connects to the ssh-server). All in all using FTP clients which don't support
  777. passive mode is possible but should be avoided if possible.
  778.  
  779.  
  780. 9.TESTED PLATFORMS
  781.  
  782. See the file PLATFORMS for a list of tested platforms.
  783.  
  784.  
  785. 10.MindTunnel SSH-Server
  786. TODO:
  787. For now check <http://www.mindbright.se/mindtunnel.html>
  788.  
  789.  
  790. 11.MindVNC VNC CLIENT
  791. TODO:
  792. For now check <http://www.mindbright.se/english/technology/products/mindvnc.html>
  793.  
  794.  
  795. 12.OTHER
  796.  
  797. All comments and bug-reports should be sent to:
  798. <mindterm@mindbright.se>
  799.  
  800. Information about this program and its source code can be found at:
  801. <http://www.mindbright.se/mindterm/>
  802.  
  803. This software is written and maintained by Mats Andersson
  804. <mats@mindbright.se> of Mindbright Technology AB in Sweden.
  805.  
  806.  
  807. 13.RSA LICENSE
  808.  
  809. MindTerm contains code implementing the RSA algorithm which is patented and
  810. subject to licensing in certain countries (e.g. the United States). It is
  811. therefore illegal to use MindTerm (for ANY purpose, even non-commercial) without
  812. proper licensing from RSA in these countries. We have been in contact with RSA
  813. on this matter and might be able to provide a licensed version of MindTerm for
  814. non-commercial use, and, for a fee, for commercial use, should we reach an
  815. agreement with them. More information will appear here when available.
  816.