Skip to content

Commit

Permalink
Merge pull request aluzzardi#4 from dongweiming/master
Browse files Browse the repository at this point in the history
Support for specifying a non-standard SSH port
  • Loading branch information
aluzzardi committed Aug 30, 2013
2 parents 5f3427f + 6ad06c0 commit 7457402
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 4 deletions.
6 changes: 6 additions & 0 deletions bin/wssh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ if __name__ == '__main__':
const='',
help='Provide a passphrase for encrypted private key files.')

parser.add_argument('--ssh-port', '-s',
type=int,
default=22,
help='Ssh to server host"s port')

parser.add_argument('destination',
help='[user@]hostname')

Expand Down Expand Up @@ -81,6 +86,7 @@ if __name__ == '__main__':

params = {
'password': password,
'port': str(args.ssh_port),
'private_key': key,
'key_passphrase': key_passphrase
}
Expand Down
1 change: 1 addition & 0 deletions bin/wsshd
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ def connect(hostname, username):
hostname=hostname,
username=username,
password=request.args.get('password'),
port=int(request.args.get('port')),
private_key=request.args.get('private_key'),
key_passphrase=request.args.get('key_passphrase'),
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
Expand Down
8 changes: 5 additions & 3 deletions wssh/static/wssh.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,11 @@ WSSHClient.prototype._generateEndpoint = function(options) {
'/wssh/' + encodeURIComponent(options.hostname) + '/' +
encodeURIComponent(options.username);
if (options.authentication_method == 'password') {
endpoint += '?password=' + encodeURIComponent(options.password);
endpoint += '?password=' + encodeURIComponent(options.password) +
'&port=' + encodeURIComponent(options.port);
} else if (options.authentication_method == 'private_key') {
endpoint += '?private_key=' + encodeURIComponent(options.private_key);
endpoint += '?private_key=' + encodeURIComponent(options.private_key) +
'&port=' + encodeURIComponent(options.port);
if (options.key_passphrase !== undefined)
endpoint += '&key_passphrase=' + encodeURIComponent(
options.key_passphrase);
Expand Down Expand Up @@ -94,4 +96,4 @@ WSSHClient.prototype.connect = function(options) {

WSSHClient.prototype.send = function(data) {
this._connection.send(JSON.stringify({'data': data}));
};
};
14 changes: 13 additions & 1 deletion wssh/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@
id="hostname"
class="input-large"
placeholder="localhost" />
<span class="add-on">port</span><input
type="text"
id="portnumber"
class="input-small"
value=22 />
</div>
</div>
</div>
Expand Down Expand Up @@ -190,17 +195,24 @@

var username = $('input:text#username');
var hostname = $('input:text#hostname');
var portnumber = $('input:text#portnumber');

var authentication = $(
'input[name=authentication_method]:checked',
'#connect').val();

var options = {
username: username.val(),
hostname: hostname.val(),
authentication_method: authentication
};

var port = parseInt(portnumber.val())
if (port > 0 && port < 65535) {
$.extend(options, {port: port});
} else {
$.extend(options, {port: 22});
}

if (authentication == 'password') {
var password = $('input:password#password');
if (!validate([username, hostname, password]))
Expand Down

0 comments on commit 7457402

Please sign in to comment.