def prepareInstance(username, sshId):
"""Prepare an instance updating the packages and creating a new user.
@param username: The name of the new user.
@param sshId: Path to SSH public key (usually ~/.ssh/id_rsa.pub)
"""
print os.environ['EC2_KEYPAIR_PATH']
with settings(user='ubuntu',
key_filename=os.environ['EC2_KEYPAIR_PATH']):
password = getpass('Enter a new password for user %s:' % username)
password2 = getpass('Enter the password a again:')
if password != password2:
raise RuntimeError("Passwords don't match")
sudo('adduser --disabled-password --gecos ",,," %s' % username)
cryptedPassword = _hashPassword(password)
sudo('usermod --password %s %s' % (cryptedPassword, username))
sudo('gpasswd --add %s admin' % username)
authorizeSshKey(username, sshId)
sudo('apt-get update')
sudo('DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y')
if exists('/var/run/reboot-required'):
reboot()
评论列表
文章目录