You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GoSSHa continiously reads stdin and writes response to stdout. The protocol can be split into 2 major phases: initialization and execute loop.
@@ -33,12 +33,12 @@ GoSSHa continiously reads stdin and writes response to stdout. The protocol can
33
33
34
34
## Initialization
35
35
36
-
To be able to run commands GoSSHa examines `~/.ssh/id_rsa`and `~/.ssh/id_dsa` if present and asks for their passwords if they are encrypted. If ssh-agent auth socket is present (identified by presence of `SSH_AUTH_SOCK` environment variable) then it is used as a primary authentication method with fallback to private keys. Password or keyboard-interactive authentication methods are not currently supported, but there are no technical difficulties for adding them.
36
+
To be able to run commands GoSSHa examines `~/.ssh/id_rsa`, `~/.ssh/id_dsa`and `~/.ssh/id_ecdsa` if present and asks for their passwords if they are encrypted. If ssh-agent auth socket is present (identified by presence of `SSH_AUTH_SOCK` environment variable) then it is used as a primary authentication method with fallback to private keys. Password or keyboard-interactive authentication methods are not currently supported, but there are no technical difficulties for adding them.
37
37
38
38
During initialization, GoSSHa will ask for password for all encrypted private keys it finds, printing message in the following format:
You can respond with empty object (`{}`) or provide the passphrase:
@@ -50,45 +50,45 @@ You can respond with empty object (`{}`) or provide the passphrase:
50
50
In case of any non-critical errors (e.g. you did not provide a passphrase or the passphase is invalid) you will receive message in the following format:
If critical error occurs then all pending operations will be aborted and you will be presented with the same response but "IsCritical":true, for example:
57
57
58
58
```
59
-
{"IsCritical":true,"ErrorMsg":"Cannot parse JSON: unexpected end of JSON input"}
59
+
{"Type":"UserError","IsCritical":true,"ErrorMsg":"Cannot parse JSON: unexpected end of JSON input"}
60
60
```
61
61
62
62
When GoSSHa finishes initialization and is ready to accept commands, the following line will be printed:
For your convenience all hosts that timed out are listed in "TimedOutHosts" property, although you could deduce these hosts by subtracting the sets of hostnames that were present in request and the ones present in response.
@@ -103,11 +103,11 @@ You can also upload file using the following command:
You can also set `"Timeout": <timeout>` in milliseconds (default is 30000 ms)
106
+
You can also set `"Timeout": <timeout>` in milliseconds (default is 30000 ms) and `"MaxThroughput": <max-Bps>` in bytes per second to limit maximum bandwidth usage. In default implementation MaxThroughput cannot be less than about 50 Mbit/sec (6553600 bytes per second). If you want to be able to use less bandwidth, try increasing THROUGHPUT_SLEEP_INTERVAL or decreasing MIN_CHUNKS and CHUNK_SIZE constant values in source code.
107
107
108
108
You will receive progress and results in exactly the same format as for command execution.
109
109
110
-
**Note:** Source file contents are fully read in memory, so you should not try to upload very large files using this command. If you really need to upload huge file to a lot of hosts, try using bittorrent or UFTP, as they provide much higher network effeciency than SSH.
110
+
**Note:** Source file contents are fully read in memory, so you should not upload very large files using this command. If you really need to upload huge file to a lot of hosts, try using bittorrent or UFTP, as they provide much higher network effeciency than SSH.
0 commit comments