Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f776997

Browse files
committed
scp now takes password with -p option from command line.
1 parent d63d1e2 commit f776997

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

bin/scp.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,8 @@ def scp_callback(filename, size, sent):
521521
files = []
522522

523523
ap = argparse.ArgumentParser()
524-
ap.add_argument('files',nargs='*', help='file or module name')
524+
ap.add_argument('-p', '--password', help='login password')
525+
ap.add_argument('files', nargs='*', help='file or module name')
525526
args = ap.parse_args()
526527

527528
#scp_mode 0 put 1 get
@@ -541,11 +542,15 @@ def scp_callback(filename, size, sent):
541542
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
542543

543544
key_filename = find_ssh_keys()
544-
if len(key_filename) == 0: # no key file found
545-
password = raw_input('Enter passsword:')
546-
ssh.connect(host, username=user, password=password)
545+
if args.password is not None:
546+
ssh.connect(host, username=user, password=args.password)
547+
547548
else:
548-
ssh.connect(host,username=user,key_filename=key_filename)
549+
if len(key_filename) == 0: # no key file found
550+
password = raw_input('Enter passsword:')
551+
ssh.connect(host, username=user, password=password)
552+
else:
553+
ssh.connect(host,username=user,key_filename=key_filename)
549554

550555
# SCPCLient takes a paramiko transport as its only argument
551556
scp = SCPClient(ssh.get_transport(),progress=scp_callback)
@@ -559,5 +564,7 @@ def scp_callback(filename, size, sent):
559564
print 'Copying to server...'
560565
scp.put(files, recursive=True, remote_path=host_path)
561566

567+
ssh.close()
568+
562569

563570

0 commit comments

Comments
 (0)