需求:以面向对象思维,使用python写一个关于Linux系统运维部署的程序。
功能:
1.从本机(Windows)连接到远端Linux
import paramiko
import configparser
class InstallPlant:
def __init__(self, filename):
self.ssh = paramiko.SSHClient()
self.config = configparser.ConfigParser()
self.config.read(filename, encoding='utf-8')
def ssh_connect_server(self, ip, uname, passwd):
"""
连接服务器并创建用户
:param ip: 服务器IP
:param uname: root
:param passwd: root密码
:return: 空
"""
# 允许主机加入host_allow
self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
self.ssh.connect(hostname=ip, port=22, username=uname, password=passwd)
print("已经连接到%s" % ip)
# 关闭连接
self.ssh.close()
2.建立用户
def create_user(self, username, password):
mycmd = "groupadd %s && useradd -m -g p2000 -s /bin/bash %s -p %s" % (username, username, password)
stdin, stdout, stderr = self.ssh.exec_command(mycmd)
print(stdout.read().decode())
print(stderr.read().decode())
print("%s用户创建成功" % username)
3.其他方法(都是在Linux上操作的)
问题:我的理解是与远端Linux服务器建立连接后,再调用建立用户方法。这个连接是需要一直保持吗,当所有方法都执行完,才能关闭ssh吗?将如何调用这些方法?
?