mirror of
https://github.com/ceph/ceph
synced 2024-12-23 11:54:11 +00:00
25 lines
619 B
Python
25 lines
619 B
Python
import paramiko
|
|
|
|
def split_user(user_at_host):
|
|
try:
|
|
user, host = user_at_host.rsplit('@', 1)
|
|
except ValueError:
|
|
user, host = None, user_at_host
|
|
assert user != '', \
|
|
"Bad input to split_user: {user_at_host!r}".format(user_at_host=user_at_host)
|
|
return user, host
|
|
|
|
|
|
def connect(user_at_host, _SSHClient=None):
|
|
user, host = split_user(user_at_host)
|
|
if _SSHClient is None:
|
|
_SSHClient = paramiko.SSHClient
|
|
ssh = _SSHClient()
|
|
ssh.load_system_host_keys()
|
|
ssh.connect(
|
|
hostname=host,
|
|
username=user,
|
|
timeout=60,
|
|
)
|
|
return ssh
|