From 1224ee95f079128fb7a4d3644ce8f2261c3bb994 Mon Sep 17 00:00:00 2001
From: Thomas S Hatch <thatch45@gmail.com>
Date: Thu, 13 Jun 2013 11:16:18 -0600
Subject: [PATCH] Add openssh files

---
 openssh/files/banner      |  12 ++++
 openssh/files/fire_banner |  13 ++++
 openssh/files/sshd_config | 127 ++++++++++++++++++++++++++++++++++++++
 openssh/init.sls          |  24 +++++++
 4 files changed, 176 insertions(+)
 create mode 100644 openssh/files/banner
 create mode 100644 openssh/files/fire_banner
 create mode 100644 openssh/files/sshd_config
 create mode 100644 openssh/init.sls

diff --git a/openssh/files/banner b/openssh/files/banner
new file mode 100644
index 0000000..9ed979d
--- /dev/null
+++ b/openssh/files/banner
@@ -0,0 +1,12 @@
+Welcome to {{ grains['id'] }}!
+
+Managed By
+
+   _____       ____  _____ __             __  
+  / ___/____ _/ / /_/ ___// /_____ ______/ /__
+  \__ \/ __ `/ / __/\__ \/ __/ __ `/ ___/ //_/
+ ___/ / /_/ / / /_ ___/ / /_/ /_/ / /__/ ,<   
+/____/\__,_/_/\__//____/\__/\__,_/\___/_/|_|  
+
+
+Make sure changes get pushed into the state repo!
diff --git a/openssh/files/fire_banner b/openssh/files/fire_banner
new file mode 100644
index 0000000..c50f5f7
--- /dev/null
+++ b/openssh/files/fire_banner
@@ -0,0 +1,13 @@
+Welcome to {{ grains['id'] }}!
+
+Managed By
+ (                  (                          
+ )\ )       (     ) )\ )    )               )  
+(()/(    )  )\ ( /((()/( ( /(    )       ( /(  
+ /(_))( /( ((_))\())/(_)))\())( /(   (   )\()) 
+(_))  )(_)) _ (_))/(_)) (_))/ )(_))  )\ ((_)\  
+/ __|((_)_ | || |_ / __|| |_ ((_)_  ((_)| |(_) 
+\__ \/ _` || ||  _|\__ \|  _|/ _` |/ _| | / /  
+|___/\__,_||_| \__||___/ \__|\__,_|\__| |_\_\  
+
+Make sure changes get pushed into the state repo!
diff --git a/openssh/files/sshd_config b/openssh/files/sshd_config
new file mode 100644
index 0000000..b59c59c
--- /dev/null
+++ b/openssh/files/sshd_config
@@ -0,0 +1,127 @@
+#	$OpenBSD: sshd_config,v 1.89 2013/02/06 00:20:42 dtucker Exp $
+
+# This is the sshd server system-wide configuration file.  See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented.  Uncommented options override the
+# default value.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+# The default requires explicit activation of protocol 1
+#Protocol 2
+
+# HostKey for protocol version 1
+#HostKey /etc/ssh/ssh_host_key
+# HostKeys for protocol version 2
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_dsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+
+# Lifetime and size of ephemeral version 1 server key
+#KeyRegenerationInterval 1h
+#ServerKeyBits 1024
+
+# Logging
+# obsoletes QuietMode and FascistLogging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+#PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#RSAAuthentication yes
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile	.ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#RhostsRSAAuthentication no
+# similar for protocol version 2
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# RhostsRSAAuthentication and HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+#PermitEmptyPasswords no
+
+# Change to no to disable s/key passwords
+ChallengeResponseAuthentication no
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'yes' to enable PAM authentication, account processing, 
+# and session processing. If this is enabled, PAM authentication will 
+# be allowed through the ChallengeResponseAuthentication and
+# PasswordAuthentication.  Depending on your PAM configuration,
+# PAM authentication via ChallengeResponseAuthentication may bypass
+# the setting of "PermitRootLogin without-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and ChallengeResponseAuthentication to 'no'.
+UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+X11Forwarding yes
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+PrintMotd no # pam does that
+#PrintLastLog yes
+#TCPKeepAlive yes
+#UseLogin no
+UsePrivilegeSeparation sandbox		# Default for new installations.
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#VersionAddendum none
+
+# no default banner path
+Banner /etc/ssh/banner
+
+# override default of no subsystems
+Subsystem	sftp	/usr/lib/ssh/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+#	X11Forwarding no
+#	AllowTcpForwarding no
+#	ForceCommand cvs server
diff --git a/openssh/init.sls b/openssh/init.sls
new file mode 100644
index 0000000..bbefa27
--- /dev/null
+++ b/openssh/init.sls
@@ -0,0 +1,24 @@
+openssh:
+  pkg:
+    - installed
+    {% if grains['os_family'] == 'Debian' %}
+    - name: openssh-server
+    {% endif %}
+  service.running:
+    - enable: True
+    - require:
+      - pkg: openssh
+      - file: sshd_banner
+    - watch:
+      - file: sshd_config
+
+sshd_config:
+  file.managed:
+    - name: /etc/ssh/sshd_config
+    - source: salt://openssh/files/sshd_config
+
+sshd_banner:
+  file.managed:
+    - name: /etc/ssh/banner
+    - source: salt://openssh/files/banner
+    - template: jinja