summaryrefslogtreecommitdiffhomepage
path: root/demos/demo_sftp.py
diff options
context:
space:
mode:
authorMatthias Witte <m.witte@telekom.de>2014-11-25 18:15:16 +0100
committerMatthias Witte <m.witte@telekom.de>2014-11-25 18:15:16 +0100
commitb3b0f2d0dff3aef736128935302aeb6adb1ee020 (patch)
tree16d9fe959aede76a0a6ed4d1a6e59a90198dc6f8 /demos/demo_sftp.py
parent47da1935dc84784bfee2e493474232bf2e0d8d37 (diff)
parent838ab5b23274ddea0b5671b7f2d5a295dcd02dfe (diff)
Merge upstream branch 'master' into add_sha2_support
Conflicts: paramiko/transport.py tests/test_transport.py
Diffstat (limited to 'demos/demo_sftp.py')
-rw-r--r--[-rwxr-xr-x]demos/demo_sftp.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/demos/demo_sftp.py b/demos/demo_sftp.py
index a34f2b19..2cb44701 100755..100644
--- a/demos/demo_sftp.py
+++ b/demos/demo_sftp.py
@@ -34,6 +34,11 @@ from paramiko.py3compat import input
# setup logging
paramiko.util.log_to_file('demo_sftp.log')
+# Paramiko client configuration
+UseGSSAPI = True # enable GSS-API / SSPI authentication
+DoGSSAPIKeyExchange = True
+Port = 22
+
# get hostname
username = ''
if len(sys.argv) > 1:
@@ -45,10 +50,10 @@ else:
if len(hostname) == 0:
print('*** Hostname required.')
sys.exit(1)
-port = 22
+
if hostname.find(':') >= 0:
hostname, portstr = hostname.split(':')
- port = int(portstr)
+ Port = int(portstr)
# get username
@@ -57,7 +62,10 @@ if username == '':
username = input('Username [%s]: ' % default_username)
if len(username) == 0:
username = default_username
-password = getpass.getpass('Password for %s@%s: ' % (username, hostname))
+if not UseGSSAPI:
+ password = getpass.getpass('Password for %s@%s: ' % (username, hostname))
+else:
+ password = None
# get host key, if we know one
@@ -81,8 +89,9 @@ if hostname in host_keys:
# now, connect and use paramiko Transport to negotiate SSH2 across the connection
try:
- t = paramiko.Transport((hostname, port))
- t.connect(username=username, password=password, hostkey=hostkey)
+ t = paramiko.Transport((hostname, Port))
+ t.connect(hostkey, username, password, gss_host=socket.getfqdn(hostname),
+ gss_auth=UseGSSAPI, gss_kex=DoGSSAPIKeyExchange)
sftp = paramiko.SFTPClient.from_transport(t)
# dirlist on remote host