Update DigitalOcean SSH keys & configure Gitea server
Consolidated SSH keys definitions by removing redundant entries and moving a key to a more appropriate resource. Updated SSH service configuration for improved security and management. Applied changes to Packer build, including updating the OS version to Ubuntu 24-04 and configuring SSH and necessary dependencies. Adjusted certbot-renew service and related Packer scripts.
This commit is contained in:
parent
4d649a0bef
commit
23bf44120b
@ -5,6 +5,7 @@ provider "registry.terraform.io/digitalocean/digitalocean" {
|
|||||||
version = "2.19.0"
|
version = "2.19.0"
|
||||||
constraints = "~> 2.19.0"
|
constraints = "~> 2.19.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
|
"h1:XcLoKA2a1MR4foSFeFbJgCADRvsXtN9SyIiJX0fSGys=",
|
||||||
"h1:z3FmDpOuKq+bOYgFE5MtFpXjOL2gAbtutL4jeAd9rJE=",
|
"h1:z3FmDpOuKq+bOYgFE5MtFpXjOL2gAbtutL4jeAd9rJE=",
|
||||||
"zh:01cee85343dee2dfc01499e19ef4e56b0c9260eee0a47329231cf500c07b4386",
|
"zh:01cee85343dee2dfc01499e19ef4e56b0c9260eee0a47329231cf500c07b4386",
|
||||||
"zh:099eeddf9baf9c282430231da501a8b96b3fb28507ce3b78e3a185cc9d4b3860",
|
"zh:099eeddf9baf9c282430231da501a8b96b3fb28507ce3b78e3a185cc9d4b3860",
|
||||||
|
@ -9,17 +9,12 @@ resource "digitalocean_ssh_key" "jdormit_laptop" {
|
|||||||
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCmtwCuxI8xP6fN9p1y+Kx7tG2appxLUTRD3yfuSiCpHEqyGy7uyY6ImbvgEc5+ZAUSwRWChFdsjUyYAq1nG2fuEyGMJxfYNyp2tJKRuJ0qBHZ8TjF4gpM5aieC6WI4Ja7x5tN+oAqQBx0UJBXQ7y3SQ9tx2rVEKGi9i9+biDFID3cukcaCVti8CEm47Z6ahJlcWQpdHxQG8SXWiL6cG89WZnkZHScuCAgEdGjq4LAYfw8XkEdphGUnqQ8Zq4PK6b8jf/F7YuhwJquRjSgXfq5amyjq6YRNIbpcq/NRnZKd1HKybAntswMz1o9vRMbx6/pt4HruE56IZA6s1t85iOPEsnYpIXd6SgHvHsN2eBhK2h0ER31YOxIzycJ8ql4OiQJMEawfkt6Bc84y1gznNqbK81R7Wgl6J7GMyl5dPlTwy3BIguFj4UcSSh5eH9jHO7wly81WzWz9M7/pYfaBaJ5au1hF423qPro9wLDmjPlOlfa9X3+C57RuVESC3KFEyutxkPye/SEKUpB526iHRYZ5F/SiqA6Zd7b9rZbT71AMwWjG2BKGImyXfKlenCRMuexsEkninJ4rPCU557/ThwFgiWtp1EHruSO26YqyJnJqXkcxpe6yk1uGneVEUAHJd1mHSie8/fTZYu9q9LqxWixdTEjOaqN9ZkZC9YsZr3iySQ== jeremy.dormitzer@gmail.com"
|
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCmtwCuxI8xP6fN9p1y+Kx7tG2appxLUTRD3yfuSiCpHEqyGy7uyY6ImbvgEc5+ZAUSwRWChFdsjUyYAq1nG2fuEyGMJxfYNyp2tJKRuJ0qBHZ8TjF4gpM5aieC6WI4Ja7x5tN+oAqQBx0UJBXQ7y3SQ9tx2rVEKGi9i9+biDFID3cukcaCVti8CEm47Z6ahJlcWQpdHxQG8SXWiL6cG89WZnkZHScuCAgEdGjq4LAYfw8XkEdphGUnqQ8Zq4PK6b8jf/F7YuhwJquRjSgXfq5amyjq6YRNIbpcq/NRnZKd1HKybAntswMz1o9vRMbx6/pt4HruE56IZA6s1t85iOPEsnYpIXd6SgHvHsN2eBhK2h0ER31YOxIzycJ8ql4OiQJMEawfkt6Bc84y1gznNqbK81R7Wgl6J7GMyl5dPlTwy3BIguFj4UcSSh5eH9jHO7wly81WzWz9M7/pYfaBaJ5au1hF423qPro9wLDmjPlOlfa9X3+C57RuVESC3KFEyutxkPye/SEKUpB526iHRYZ5F/SiqA6Zd7b9rZbT71AMwWjG2BKGImyXfKlenCRMuexsEkninJ4rPCU557/ThwFgiWtp1EHruSO26YqyJnJqXkcxpe6yk1uGneVEUAHJd1mHSie8/fTZYu9q9LqxWixdTEjOaqN9ZkZC9YsZr3iySQ== jeremy.dormitzer@gmail.com"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
moved {
|
||||||
|
from = digitalocean_ssh_key.jdormit_macbook_lola
|
||||||
|
to = digitalocean_ssh_key.jdormit_macbook
|
||||||
|
}
|
||||||
|
|
||||||
resource "digitalocean_ssh_key" "jdormit_macbook" {
|
resource "digitalocean_ssh_key" "jdormit_macbook" {
|
||||||
name = "jdormit-macbook"
|
name = "jdormit-macbook"
|
||||||
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQClncYn+vgTz6n6C99l0YMJn8PpRJGGmyvu3zje0RZeXrO+Y/7FvxWMGmVeH0oGCvDq698Rac+5JC6pZlPayqSdn56Tef7CVJsHCI9hKntTY7H3uLAJ3QjI8MbrvWUsNgBcxMkmMjx2/G/B/rDcva0yv5AOQgTYT6rC7qRQrT+jaraTVny3qTC8T+DQiLMH9tkrLySCuxm1WKf5eNg+S8VuY6iD7rXWqa5tMV+B7WY1zAa/LMkp3DBm4+NbIRgjUaWVEjIywNVgvYb+SHCwvfzM5Bx9kVi8tfiAcIZ8jDsDljTmJrtDhWiIvALfWSdjOLwCFRGp823Hbp83DIKtxnF+q/3ND4hdZd6cpy3WSfaVLR2DmFjEwVkaIBq5/8zzSfogWHjAVFDYbIhEYprg9g9lhirbLInZVpfcQgscLGvILvlyIHyAajIC3M0ZjTOn5BJ6vQYAbGtEpkGBPPc4LW/WXfNdFXGCWSzthDMPKhYlr4MxBi3rHXi1UWy5t3kb3yRHeNijd98wJLIVFMDoC5Vu/FmJDusghS+quishCj2nKFPKvNFkILLI6oPWWjnLGPQvk+KaWrsnRLeJtA7JBAemVbQWO9Nj1GGIJxfF9AGT9f320oVtEe1eJWaV9Ls49IP9dASosjZgeZgq4jjPfNbgCQOod6+0g4GE4wjZFpLvWQ== jdormitzer@BOSMM2T13LQH03Q"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "digitalocean_ssh_key" "jdormit_macbook_lola" {
|
|
||||||
name = "jdormit-macbook-lola"
|
|
||||||
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgtweszDBXhSW3ceaTWmCc/2M6tqCNClooaOWCubdfGxw+n7mJwKmH/zXvlJaW3FYIZw9oX04FkqPPfBOP58Tr/csyjIrkbVQ4Ns1ajVvavmF3+XuzFAzJnBXHLdPdQg6ajyOWljQMr6cQYpAsEp5iMwfU4CQiUkAM3gF5Dw+Xl8uqrnhwhJmDxiSVPfdpx5eW7U07twVGYFJG6GMnEfSX6xn5b2fYqGu3wxiDrydeVHgEjc/CnrIqtEM8XFTmOjeoHpPzcDPjfE0bHOp3h2vuyWX02pJGZUFew3E883iuxutPSIQvDD+fRrWbfJ5XlGwV5lyrFe68xXU8grCWJlOZ jdormit@Jeremys-MacBook-Pro.local"
|
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgtweszDBXhSW3ceaTWmCc/2M6tqCNClooaOWCubdfGxw+n7mJwKmH/zXvlJaW3FYIZw9oX04FkqPPfBOP58Tr/csyjIrkbVQ4Ns1ajVvavmF3+XuzFAzJnBXHLdPdQg6ajyOWljQMr6cQYpAsEp5iMwfU4CQiUkAM3gF5Dw+Xl8uqrnhwhJmDxiSVPfdpx5eW7U07twVGYFJG6GMnEfSX6xn5b2fYqGu3wxiDrydeVHgEjc/CnrIqtEM8XFTmOjeoHpPzcDPjfE0bHOp3h2vuyWX02pJGZUFew3E883iuxutPSIQvDD+fRrWbfJ5XlGwV5lyrFe68xXU8grCWJlOZ jdormit@Jeremys-MacBook-Pro.local"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "digitalocean_ssh_key" "jdormit_macbook_spotify" {
|
|
||||||
name = "jdormit-macbook-spotify"
|
|
||||||
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDrgeJ5M+8R5KHjMOFuBotZf2hOpX7+fYs+ut9F5KwSsKs1yxV9M9PHsaD+JKrBBJPcxHgkMFgdwQ/jSZ+aQiLdKWcegCIELF8e4m1YhF6DKn/WWgpeQ2AoA2k7REfWm6ZIZ8fKefvOmz2CVa4S+4IPq+EWuknOtJLI5RPoVu31AohIpTQQ5Bx0nTVVwdtazwTEBSpf5hZG8Yhf6ixGhteIOWvp0nYMKyXHxamtW6vNZJ/BBU73CWpvJfbj+iXPIXItLxjypJ47boio54bcnIGrnOjMg/+B+Kvle0D3Yjw2NuaPGKSIeAD73UqlnrpUcOLb5u0GYyc2YXdwNmTHnqZJ5qXd/j1sPHcmKFM4rj3IldAutIW1SBMPHTJMjBbhttg1yBUf471Fqd+wnCytiVdFvqLS6mOGRRMDEKuZ/r7mql2nY7RGpK7vXGGXjxLrIwOSEXifwNIsyBMbnYgWEZn+HxXGCe3mfY5GSZh+tqSP0LM39+0GFHXF2kLcJ+6KWo0= jdormitzer@MM2NY6LN94"
|
|
||||||
}
|
|
||||||
|
@ -5,11 +5,3 @@ output "jdormit_laptop_ssh_key_id" {
|
|||||||
output "jdormit_macbook_ssh_key_id" {
|
output "jdormit_macbook_ssh_key_id" {
|
||||||
value = digitalocean_ssh_key.jdormit_macbook.id
|
value = digitalocean_ssh_key.jdormit_macbook.id
|
||||||
}
|
}
|
||||||
|
|
||||||
output "jdormit_macbook_lola_ssh_key_id" {
|
|
||||||
value = digitalocean_ssh_key.jdormit_macbook_lola.id
|
|
||||||
}
|
|
||||||
|
|
||||||
output "jdormit_macbook_spotify_ssh_key_id" {
|
|
||||||
value = digitalocean_ssh_key.jdormit_macbook_spotify.id
|
|
||||||
}
|
|
||||||
|
@ -3,5 +3,6 @@ Description=Renew certbot certificates
|
|||||||
Wants=cerbot-renew.timer
|
Wants=cerbot-renew.timer
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=oneshot
|
||||||
ExecStart=/usr/bin/env certbot renew
|
ExecStart=/usr/bin/env certbot renew
|
||||||
|
ExecStartPost=/usr/bin/env systemctl restart nginx
|
||||||
|
122
prod/gitea/packer/files/sshd_config
Normal file
122
prod/gitea/packer/files/sshd_config
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
# $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 222
|
||||||
|
#AddressFamily any
|
||||||
|
#ListenAddress 0.0.0.0
|
||||||
|
#ListenAddress ::
|
||||||
|
|
||||||
|
#HostKey /etc/ssh/ssh_host_rsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key
|
||||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key
|
||||||
|
|
||||||
|
# Ciphers and keying
|
||||||
|
#RekeyLimit default none
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
#SyslogFacility AUTH
|
||||||
|
#LogLevel INFO
|
||||||
|
|
||||||
|
# Authentication:
|
||||||
|
|
||||||
|
#LoginGraceTime 2m
|
||||||
|
PermitRootLogin yes
|
||||||
|
#StrictModes yes
|
||||||
|
#MaxAuthTries 6
|
||||||
|
#MaxSessions 10
|
||||||
|
|
||||||
|
#PubkeyAuthentication yes
|
||||||
|
|
||||||
|
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
|
||||||
|
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
|
||||||
|
|
||||||
|
#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 yes to enable challenge-response passwords (beware issues with
|
||||||
|
# some PAM modules and threads)
|
||||||
|
ChallengeResponseAuthentication no
|
||||||
|
|
||||||
|
# Kerberos options
|
||||||
|
#KerberosAuthentication no
|
||||||
|
#KerberosOrLocalPasswd yes
|
||||||
|
#KerberosTicketCleanup yes
|
||||||
|
#KerberosGetAFSToken no
|
||||||
|
|
||||||
|
# GSSAPI options
|
||||||
|
#GSSAPIAuthentication no
|
||||||
|
#GSSAPICleanupCredentials yes
|
||||||
|
#GSSAPIStrictAcceptorCheck yes
|
||||||
|
#GSSAPIKeyExchange no
|
||||||
|
|
||||||
|
# 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 yes
|
||||||
|
# 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
|
||||||
|
#PermitTTY yes
|
||||||
|
PrintMotd no
|
||||||
|
#PrintLastLog yes
|
||||||
|
#TCPKeepAlive yes
|
||||||
|
#UseLogin no
|
||||||
|
#PermitUserEnvironment no
|
||||||
|
#Compression delayed
|
||||||
|
#ClientAliveInterval 0
|
||||||
|
#ClientAliveCountMax 3
|
||||||
|
#UseDNS no
|
||||||
|
#PidFile /var/run/sshd.pid
|
||||||
|
#MaxStartups 10:30:100
|
||||||
|
#PermitTunnel no
|
||||||
|
#ChrootDirectory none
|
||||||
|
#VersionAddendum none
|
||||||
|
|
||||||
|
# no default banner path
|
||||||
|
#Banner none
|
||||||
|
|
||||||
|
# Allow client to pass locale environment variables
|
||||||
|
AcceptEnv LANG LC_*
|
||||||
|
|
||||||
|
# override default of no subsystems
|
||||||
|
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||||
|
|
||||||
|
# Example of overriding settings on a per-user basis
|
||||||
|
#Match User anoncvs
|
||||||
|
# X11Forwarding no
|
||||||
|
# AllowTcpForwarding no
|
||||||
|
# PermitTTY no
|
||||||
|
# ForceCommand cvs server
|
@ -2,7 +2,7 @@
|
|||||||
"builders": [
|
"builders": [
|
||||||
{
|
{
|
||||||
"type": "digitalocean",
|
"type": "digitalocean",
|
||||||
"image": "ubuntu-23-10-x64",
|
"image": "ubuntu-24-04-x64",
|
||||||
"region": "nyc1",
|
"region": "nyc1",
|
||||||
"size": "s-1vcpu-1gb",
|
"size": "s-1vcpu-1gb",
|
||||||
"snapshot_name": "packer-gitea-{{timestamp}}",
|
"snapshot_name": "packer-gitea-{{timestamp}}",
|
||||||
@ -52,6 +52,11 @@
|
|||||||
"source": "files/certbot-renew.service",
|
"source": "files/certbot-renew.service",
|
||||||
"destination": "/tmp/certbot-renew.service"
|
"destination": "/tmp/certbot-renew.service"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "files/sshd_config",
|
||||||
|
"destination": "/tmp/sshd_config"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"script": "scripts/nginx.sh"
|
"script": "scripts/nginx.sh"
|
||||||
|
@ -152,7 +152,16 @@
|
|||||||
"artifact_id": "nyc1:149969417",
|
"artifact_id": "nyc1:149969417",
|
||||||
"packer_run_uuid": "293e17d9-aa9f-292c-eed6-7117c5f34479",
|
"packer_run_uuid": "293e17d9-aa9f-292c-eed6-7117c5f34479",
|
||||||
"custom_data": null
|
"custom_data": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "digitalocean",
|
||||||
|
"builder_type": "digitalocean",
|
||||||
|
"build_time": 1723915250,
|
||||||
|
"files": null,
|
||||||
|
"artifact_id": "nyc1:163229340",
|
||||||
|
"packer_run_uuid": "7eb25857-c225-7ca3-499f-0ca2b6777a86",
|
||||||
|
"custom_data": null
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"last_run_uuid": "293e17d9-aa9f-292c-eed6-7117c5f34479"
|
"last_run_uuid": "7eb25857-c225-7ca3-499f-0ca2b6777a86"
|
||||||
}
|
}
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
sudo apt-get clean
|
||||||
|
sudo add-apt-repository universe
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sleep 2
|
sleep 2
|
||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
|
@ -22,3 +22,6 @@ sudo ln -s /etc/nginx/sites-available/gitea.conf \
|
|||||||
sudo unlink /etc/nginx/sites-enabled/default
|
sudo unlink /etc/nginx/sites-enabled/default
|
||||||
|
|
||||||
sudo systemctl enable nginx
|
sudo systemctl enable nginx
|
||||||
|
|
||||||
|
sudo mv /tmp/sshd_config /etc/ssh/sshd_config
|
||||||
|
sudo systemctl restart ssh
|
||||||
|
@ -39,7 +39,6 @@ resource "digitalocean_droplet" "droplet" {
|
|||||||
tags = var.tags
|
tags = var.tags
|
||||||
ssh_keys = [
|
ssh_keys = [
|
||||||
data.terraform_remote_state.do_ssh_keys.outputs.jdormit_laptop_ssh_key_id,
|
data.terraform_remote_state.do_ssh_keys.outputs.jdormit_laptop_ssh_key_id,
|
||||||
data.terraform_remote_state.do_ssh_keys.outputs.jdormit_macbook_lola_ssh_key_id,
|
data.terraform_remote_state.do_ssh_keys.outputs.jdormit_macbook_ssh_key_id,
|
||||||
data.terraform_remote_state.do_ssh_keys.outputs.jdormit_macbook_spotify_ssh_key_id
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user