From 62192abbc551b5be477c8fa22f275d6778ba02de Mon Sep 17 00:00:00 2001 From: Darks Date: Thu, 10 Sep 2020 19:19:29 +0200 Subject: [PATCH] Added SSH role --- roles/ssh/tasks/main.yml | 17 +++++ roles/ssh/templates/sshd_config | 123 ++++++++++++++++++++++++++++++++ roles/ssh/vars/main.yml | 15 ++++ ssh.yml | 9 +++ 4 files changed, 164 insertions(+) create mode 100644 roles/ssh/tasks/main.yml create mode 100644 roles/ssh/templates/sshd_config create mode 100644 roles/ssh/vars/main.yml create mode 100644 ssh.yml diff --git a/roles/ssh/tasks/main.yml b/roles/ssh/tasks/main.yml new file mode 100644 index 0000000..5a407e4 --- /dev/null +++ b/roles/ssh/tasks/main.yml @@ -0,0 +1,17 @@ +--- +- name: "Install openssh" # Yeah I know, quite useless + pacman: + name: "openssh" + state: present + +- name: "Copy sshd_config" + template: + src: 'sshd_config' + dest: '/etc/ssh/' + owner: 'root' + mode: 0644 + +- name: "Restarting sshd" + service: + name: "sshd" + state: reloaded diff --git a/roles/ssh/templates/sshd_config b/roles/ssh/templates/sshd_config new file mode 100644 index 0000000..21a4b8c --- /dev/null +++ b/roles/ssh/templates/sshd_config @@ -0,0 +1,123 @@ +# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm 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 :: + +#HostKey /etc/ssh/ssh_host_rsa_key +#HostKey /etc/ssh/ssh_host_dsa_key +#HostKey /etc/ssh/ssh_host_ecdsa_key +HostKey /etc/ssh/ssh_host_ed25519_key + +# Ciphers and keying +#RekeyLimit default none +Ciphers chacha20-poly1305@openssh.com +KexAlgorithms curve25519-sha256@libssh.org +MACs umac-128-etm@openssh.com + +# Logging +#SyslogFacility AUTH +#LogLevel INFO + +# Authentication: + +#LoginGraceTime 2m +PermitRootLogin prohibit-password +#StrictModes yes +#MaxAuthTries 6 +#MaxSessions 10 + +#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 +#HostbasedAuthentication no +# Change to yes if you don't trust ~/.ssh/known_hosts for +# 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 no +#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 no +#X11DisplayOffset 10 +#X11UseLocalhost yes +#PermitTTY yes +PrintMotd no # pam does that +#PrintLastLog yes +#TCPKeepAlive yes +#UseLogin no +#PermitUserEnvironment no +#Compression delayed +#ClientAliveInterval 0 +#ClientAliveCountMax 3 +#UseDNS no +#PidFile /run/sshd.pid +#MaxStartups 10:30:100 +#PermitTunnel no +#ChrootDirectory none +#VersionAddendum none + +# no default banner path +#Banner none + +# 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 +# PermitTTY no +# ForceCommand cvs server + +AllowUsers {{ allowed_users | join(" ") }} diff --git a/roles/ssh/vars/main.yml b/roles/ssh/vars/main.yml new file mode 100644 index 0000000..72430be --- /dev/null +++ b/roles/ssh/vars/main.yml @@ -0,0 +1,15 @@ +allowed_users: + - "breizh" + - "cake" + - "creativecalc" # Needed for git hooks + - "critor" + - "darks" + - "gitea" + - "lailouezzz" + - "lephe" + - "p7" + - "pc-dev" # Needed for git hooks + - "pc" # Needed for git hooks + - "v42" + - "yatis" + - "ziqumu" diff --git a/ssh.yml b/ssh.yml new file mode 100644 index 0000000..44c1b6d --- /dev/null +++ b/ssh.yml @@ -0,0 +1,9 @@ +--- +- name: Update Nginx configuration + hosts: all + become: yes + become_user: root + become_method: sudo + + roles: + - ssh