Python and ssh for remote login
Ethan Furman
ethan at stoneleaf.us
Wed Oct 5 15:01:10 EDT 2016
On 10/05/2016 10:46 AM, Noah wrote:
> I would like to use a python script to ssh into a server using a username
> and password [...]
I've written a module called scription to help with scripts; it supports giving passwords to programs like ssh.
Here's an example from one of my utility scripts:
-- 8< ---------------------------
#!/usr/local/bin/python
from getpass import getpass
from antipathy import Path
from scription import Command, Execute, Main, OPTION, REQUIRED
...
@Command(
repo=('repository to pull [default: all]', OPTION),
path=('base path to search', OPTION, 'p', Path),
)
def pull(repo, *path):
'''
retrieve remote change sets
'''
password = getpass('[mercurial] password: ')
target = repo
for repo in workhorse(*path):
if target and repo.filename != target:
continue
history = Execute(('hg', 'pull'), cwd=repo, password=password, pty=True)
-- 8< ----------------------------
and in use:
==================================
$ hgc --help
Available commands/options in hgc
incoming displays changesets in remote repo not present locally
list displays all repos
log-date displays all log entries for matching date
outgoing displays changesets in remote repo not present locally
parent displays parent of active branch
pull retrieve remote change sets
push send local changesets to remote repo
status display status for each repo
update update active files to latest version
$ hgc pull
[mercurial] password:
...
===================================
It's available via pip. Feedback welcome. :)
--
~Ethan~
More information about the Python-list
mailing list