Improve logic for locking down SSH config
what a tricky mess
This commit is contained in:
		
							parent
							
								
									93c2db902e
								
							
						
					
					
						commit
						05d6e093a7
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		|  | @ -50,6 +50,7 @@ def configure(c, allow_root=False): | |||
|     path = '/etc/ssh/sshd_config' | ||||
| 
 | ||||
|     # PermitRootLogin no (or without-password) | ||||
|     # TODO: this probably needs the same treatment as PasswordAuthentication got | ||||
|     if c.run("grep '^PermitRootLogin ' {}".format(path), warn=True).failed: | ||||
|         c.sudo('sed -i.bak -e "s/^#PermitRootLogin .*/PermitRootLogin {}/" {}'.format( | ||||
|             'without-password' if allow_root else 'no', path)) | ||||
|  | @ -59,8 +60,11 @@ def configure(c, allow_root=False): | |||
| 
 | ||||
|     # PasswordAuthentication no | ||||
|     if c.run("grep '^PasswordAuthentication ' {}".format(path), warn=True).failed: | ||||
|         c.sudo('sed -i.bak -e "s/^#?PasswordAuthentication .*/PasswordAuthentication no/" {}'.format(path)) | ||||
|         if c.run("grep '^#PasswordAuthentication ' {}".format(path), warn=True).failed: | ||||
|             c.sudo("""bash -c 'echo "PasswordAuthentication no" >> /etc/ssh/sshd_config'""") | ||||
|         else: | ||||
|         c.sudo('sed -i.bak -e "s/^PasswordAuthentication .*/PasswordAuthentication no/" {}'.format(path)) | ||||
|             c.sudo("sed -i.bak -e 's/^#PasswordAuthentication .*/PasswordAuthentication no/' {}".format(path)) | ||||
|     else: | ||||
|         c.sudo("sed -i.bak -e 's/^PasswordAuthentication .*/PasswordAuthentication no/' {}".format(path)) | ||||
| 
 | ||||
|     restart(c) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar