...
This job is used to execute commands, programs and/or shell-scripts on a remote server by SSH.
for For more information on SSH see:
How to use OpenSSH with JobScheduler
All All related programs in JobScheduler are using use an implementation of Trilead on the client site. This requires to take some things into account.
...
This is the easiest and most popular method to authenticate a user. The userid user ID and a password is send sent to the SSH server. Best of all, the password is encrypted , before sending it to the server and decrypted at the server side. but, at the end, it is a password and if someone is able to decrypt he has opened the door to the server.
...
The private key looks the the key in the lines below:
Code Block |
---|
-----BEGIN RSA PRIVATE KEY----- |
...
Proc-Type: 4,ENCRYPTED |
...
DEK-Info: DES-EDE3-CBC,56C91DCFDF45E388 |
...
MxnhXdGMmnFlR2cmjtF690uIYKLZUlbfVcXWRYwgxH21k0K6zicRE2YUDiNGikCW
...
MxnhXdGMmnFlR2cmjtF690uIYKLZUlbfVcXWRYwgxH21k0K6zicRE2YUDiNGikCW GNjB97uObN8JEyykvbQaXFdu5UJKO5ydE7YmBk3n/I6WRo+gNCig9+ty0LIMOg0J |
...
NIsvCdUi3+2ldsz8TRSRYPY0uZ3ddymKjIzePDx2WiacTB3VAomx7s3HhoFIBuTA |
...
7DwUJx0jDUsoF6vNs3LIZTOs/XuwRAttNRsKX2LFkAZpqRPjabohZ7HpQy2Y3yGF |
...
zv2kdAQXF769/YepaBzjEmt5OKx+NsWmi9DgaghhUsUZjPqZY+X/D8hXqCIMdSsB |
...
5uPuKC/OjfuersZTiNK1hh288fuFD2phQ8aHu2RCfpFXB21Vh5A8Bg9ZO1pqHfU2 |
...
ngWrmdXOauOQxQ8+Pmh44N0dKPmmQ4sccpUgZe4aMplLKrarQOufcGX33JGAF0xc
WyWjl14IZCpQdWbCO6rKEnWf6bgjuYyV9y2n6TjaIDgwMn3UV381LHCqxEsdERid
...
ngWrmdXOauOQxQ8+Pmh44N0dKPmmQ4sccpUgZe4aMplLKrarQOufcGX33JGAF0xc WyWjl14IZCpQdWbCO6rKEnWf6bgjuYyV9y2n6TjaIDgwMn3UV381LHCqxEsdERid X/at3BsPc2verLrN5qEDVpPJmdFr5WCghgds88DhuP8suQodbtlVidWj/rTd7fV+ |
...
6RhsozJIkeCBwccQTJDJrMoTUi5eNwIO2g91Cjj7Fu2b3ir1lrOVg8OK5zsukFcY
...
6RhsozJIkeCBwccQTJDJrMoTUi5eNwIO2g91Cjj7Fu2b3ir1lrOVg8OK5zsukFcY +Gcub8AJjOq8vRqNZ2o0SyXGcoORKIwqpMF9+IlaUGJ3n7THK4DbXwtzGeBIZiwH |
...
Gs4bzowFecPFh8PuvwUa1gIH+aPNsXZ0Jtkv72d3r9y9EBHNIkyh9KFDztFaFswY |
...
2BdXcnDfNmsRbtVvH4kFb0h2R1M2aaXsJFl0mvCtaOM=
...
2BdXcnDfNmsRbtVvH4kFb0h2R1M2aaXsJFl0mvCtaOM= -----END RSA PRIVATE KEY----- |
If puTTYgen is used to create the priv/pub keys it is not an OpenSSH Key by default. To get an OpenSSH conform key you must export the private key to OpenSSH format.
If you want to use the private key in putty as well you have to convert this the private key to the openSSH-format. This can be done with puTTYgen as well.
...
Moving the public key to the remote server
To be able to log in to remote systems using a pair of keys, one will you first have to add the public key on the remote server to the authorized_keys
file in the .ssh/
directory in the home directory on the remote machine.
The Next action is to create a .ssh directory, and inside the .ssh/ directory create an authorized_keys
file and add the public key to the file. Make sure the file is not readable for other users/groups. chmod 600 authorized_keys*
does the trick.
Code Block |
---|
[kb@wilma kb]$ mkdir .ssh |
...
[kb@wilma kb]$ chmod 700 .ssh |
...
[kb@wilma kb]$ cd .ssh |
...
[kb@wilma .ssh]$ touch authorized_keys |
...
[kb@wilma .ssh]$ chmod 600 authorized_keys |
...
[kb@wilma .ssh]$ cat ../identity.pub >> authorized_keys |
...
[kb@wilma .ssh]$ rm ../identity.pub |
Further readingsreading:
- http://www.oreilly.com/catalog/sshtdg/ SSH, The Secure Shell: The Definitive Guide written by Daniel J. Barret & Richard Silverman, published by O'Reilly
- http://www.openssh.org/manual.html OpenSSH manual
How to handle StdErr and ExitCode
The job knows some parameters to handle the stderr and the exit code. These are:
- ignore_stderr
- ignore_error
- ignore_exit_code
- raise_exception_on_error
As an example, we examine the command<pre class="example">ls
Code Block |
---|
ls _unknown_folder_; exit 5; |
...
This commmand command has a stderr = "<code>lsls: _unknown_folder_: No such file or directory</code>directory" and the exit code 5.
ignore_stdout | ignore_error | raise_exception_on_error | ExitCode of the command | ExitCode of the job's task | Order goes to... |
---|---|---|---|---|---|
false | false | true | 5 | 1 | error node |
true | false | true | 5 | 1 | error node |
false | true | true | 5 | 1 | error node |
true | true | true | 5 | 0 | next node |
false | false | false | 5 | 5 | next node |
true | false | false | 5 | 5 | next node |
false | true | false | 5 | 5 | next node |
true | true | false | 5 | 0 | next node |
...