summaryrefslogtreecommitdiffhomepage
path: root/demos/demo_simple.py
diff options
context:
space:
mode:
Diffstat (limited to 'demos/demo_simple.py')
-rw-r--r--demos/demo_simple.py50
1 files changed, 31 insertions, 19 deletions
diff --git a/demos/demo_simple.py b/demos/demo_simple.py
index 9def57f8..5dd4f6c1 100644
--- a/demos/demo_simple.py
+++ b/demos/demo_simple.py
@@ -28,6 +28,7 @@ import traceback
from paramiko.py3compat import input
import paramiko
+
try:
import interactive
except ImportError:
@@ -35,39 +36,43 @@ except ImportError:
# setup logging
-paramiko.util.log_to_file('demo_simple.log')
+paramiko.util.log_to_file("demo_simple.log")
# Paramiko client configuration
-UseGSSAPI = paramiko.GSS_AUTH_AVAILABLE # enable "gssapi-with-mic" authentication, if supported by your python installation
-DoGSSAPIKeyExchange = paramiko.GSS_AUTH_AVAILABLE # enable "gssapi-kex" key exchange, if supported by your python installation
+UseGSSAPI = (
+ paramiko.GSS_AUTH_AVAILABLE
+) # enable "gssapi-with-mic" authentication, if supported by your python installation
+DoGSSAPIKeyExchange = (
+ paramiko.GSS_AUTH_AVAILABLE
+) # enable "gssapi-kex" key exchange, if supported by your python installation
# UseGSSAPI = False
# DoGSSAPIKeyExchange = False
port = 22
# get hostname
-username = ''
+username = ""
if len(sys.argv) > 1:
hostname = sys.argv[1]
- if hostname.find('@') >= 0:
- username, hostname = hostname.split('@')
+ if hostname.find("@") >= 0:
+ username, hostname = hostname.split("@")
else:
- hostname = input('Hostname: ')
+ hostname = input("Hostname: ")
if len(hostname) == 0:
- print('*** Hostname required.')
+ print("*** Hostname required.")
sys.exit(1)
-if hostname.find(':') >= 0:
- hostname, portstr = hostname.split(':')
+if hostname.find(":") >= 0:
+ hostname, portstr = hostname.split(":")
port = int(portstr)
# get username
-if username == '':
+if username == "":
default_username = getpass.getuser()
- username = input('Username [%s]: ' % default_username)
+ username = input("Username [%s]: " % default_username)
if len(username) == 0:
username = default_username
if not UseGSSAPI and not DoGSSAPIKeyExchange:
- password = getpass.getpass('Password for %s@%s: ' % (username, hostname))
+ password = getpass.getpass("Password for %s@%s: " % (username, hostname))
# now, connect and use paramiko Client to negotiate SSH2 across the connection
@@ -75,27 +80,34 @@ try:
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy())
- print('*** Connecting...')
+ print("*** Connecting...")
if not UseGSSAPI and not DoGSSAPIKeyExchange:
client.connect(hostname, port, username, password)
else:
try:
- client.connect(hostname, port, username, gss_auth=UseGSSAPI,
- gss_kex=DoGSSAPIKeyExchange)
+ client.connect(
+ hostname,
+ port,
+ username,
+ gss_auth=UseGSSAPI,
+ gss_kex=DoGSSAPIKeyExchange,
+ )
except Exception:
# traceback.print_exc()
- password = getpass.getpass('Password for %s@%s: ' % (username, hostname))
+ password = getpass.getpass(
+ "Password for %s@%s: " % (username, hostname)
+ )
client.connect(hostname, port, username, password)
chan = client.invoke_shell()
print(repr(client.get_transport()))
- print('*** Here we go!\n')
+ print("*** Here we go!\n")
interactive.interactive_shell(chan)
chan.close()
client.close()
except Exception as e:
- print('*** Caught exception: %s: %s' % (e.__class__, e))
+ print("*** Caught exception: %s: %s" % (e.__class__, e))
traceback.print_exc()
try:
client.close()