From 9c083b808929650cfb7c564cac3289c7dfc21062 Mon Sep 17 00:00:00 2001 From: vincent Date: Tue, 26 Jul 2022 19:50:17 +0200 Subject: [PATCH 1/3] template config ssh --- defaults/main.yml | 5 +++++ tasks/ssh.yml | 2 +- files/ssh/config => templates/ssh/config.j2 | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) rename files/ssh/config => templates/ssh/config.j2 (90%) diff --git a/defaults/main.yml b/defaults/main.yml index 34e9fd2..223b8be 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -120,3 +120,8 @@ hosts_entries: [] hosts_file_snippets: [] system_ipV6_disable: true + +system_ssh_custom_host: +# - host: +# user: +# keyfile: diff --git a/tasks/ssh.yml b/tasks/ssh.yml index 8a90100..2bb6aac 100644 --- a/tasks/ssh.yml +++ b/tasks/ssh.yml @@ -1,6 +1,6 @@ - name: copy ssh config for user become: true - copy: + template: dest: /home/{{ item }}/.ssh/ src: "ssh/config" force: true diff --git a/files/ssh/config b/templates/ssh/config.j2 similarity index 90% rename from files/ssh/config rename to templates/ssh/config.j2 index 4e6113d..be4639b 100644 --- a/files/ssh/config +++ b/templates/ssh/config.j2 @@ -48,3 +48,9 @@ Hostname git.ducamps.win User git IdentityFile ~/.ssh/id_gitea +{% for host in system_ssh_custom_host %} +Host {{ host.host }} + Hostname: {{ host.host }} + User {{ host.user }} + IdentityFile {{ host.keyfile }} +{% endfor %} From 03ca0050c372dcefd9580324c8594403ffea6c36 Mon Sep 17 00:00:00 2001 From: vincent Date: Tue, 26 Jul 2022 20:52:52 +0200 Subject: [PATCH 2/3] restore ssh root config and fix issue --- files/ssh/config | 50 +++++++++++++++++++++++++++++++++++++++++ tasks/ssh.yml | 2 +- templates/ssh/config.j2 | 4 ---- 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 files/ssh/config diff --git a/files/ssh/config b/files/ssh/config new file mode 100644 index 0000000..4e6113d --- /dev/null +++ b/files/ssh/config @@ -0,0 +1,50 @@ +# $OpenBSD: ssh_config,v 1.34 2019/02/04 02:39:42 dtucker Exp $ + +# This is the ssh client system-wide configuration file. See +# ssh_config(5) for more information. This file provides defaults for +# users, and the values can be changed in per-user configuration files +# or on the command line. + +# Configuration data is parsed as follows: +# 1. command line options +# 2. user-specific file +# 3. system-wide file +# Any configuration value is only changed the first time it is set. +# Thus, host-specific definitions should be at the beginning of the +# configuration file, and defaults at the end. + +# Site-wide defaults for some commonly used options. For a comprehensive +# list of available options, their meanings and defaults, please see the +# ssh_config(5) man page. + + Host * + AddKeysToAgent yes + ForwardAgent yes +# ForwardX11 no +# PasswordAuthentication yes +# HostbasedAuthentication no +# GSSAPIAuthentication no +# GSSAPIDelegateCredentials no +# BatchMode no +# CheckHostIP yes +# AddressFamily any +# ConnectTimeout 0 +# StrictHostKeyChecking ask +# IdentityFile ~/.ssh/id_rsa +# IdentityFile ~/.ssh/id_dsa +# IdentityFile ~/.ssh/id_ecdsa +# IdentityFile ~/.ssh/id_ed25519 +# Port 22 +# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc +# MACs hmac-md5,hmac-sha1,umac-64@openssh.com +# EscapeChar ~ +# Tunnel no +# TunnelDevice any:any +# PermitLocalCommand no +# VisualHostKey no +# ProxyCommand ssh -q -W %h:%p gateway.example.com +# RekeyLimit 1G 1h + Host git.ducamps.win + Hostname git.ducamps.win + User git + IdentityFile ~/.ssh/id_gitea diff --git a/tasks/ssh.yml b/tasks/ssh.yml index 2bb6aac..12d5ad4 100644 --- a/tasks/ssh.yml +++ b/tasks/ssh.yml @@ -1,7 +1,7 @@ - name: copy ssh config for user become: true template: - dest: /home/{{ item }}/.ssh/ + dest: "/home/{{item}}/.ssh" src: "ssh/config" force: true remote_src: false diff --git a/templates/ssh/config.j2 b/templates/ssh/config.j2 index be4639b..4da7b98 100644 --- a/templates/ssh/config.j2 +++ b/templates/ssh/config.j2 @@ -44,10 +44,6 @@ # VisualHostKey no # ProxyCommand ssh -q -W %h:%p gateway.example.com # RekeyLimit 1G 1h - Host git.ducamps.win - Hostname git.ducamps.win - User git - IdentityFile ~/.ssh/id_gitea {% for host in system_ssh_custom_host %} Host {{ host.host }} Hostname: {{ host.host }} From 0b89a9a8827fd4e3db2452abd262f13cf6763007 Mon Sep 17 00:00:00 2001 From: vincent Date: Tue, 26 Jul 2022 20:53:35 +0200 Subject: [PATCH 3/3] remove ":" --- templates/ssh/config.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/ssh/config.j2 b/templates/ssh/config.j2 index 4da7b98..2a36916 100644 --- a/templates/ssh/config.j2 +++ b/templates/ssh/config.j2 @@ -46,7 +46,7 @@ # RekeyLimit 1G 1h {% for host in system_ssh_custom_host %} Host {{ host.host }} - Hostname: {{ host.host }} + Hostname {{ host.host }} User {{ host.user }} IdentityFile {{ host.keyfile }} {% endfor %}