File tree Expand file tree Collapse file tree 8 files changed +99
-8
lines changed
Expand file tree Collapse file tree 8 files changed +99
-8
lines changed Original file line number Diff line number Diff line change @@ -32,15 +32,23 @@ jobs:
3232 - name : Test
3333 run : go test -v $(go list ./... | grep -v vendor | grep -v mocks) -race -coverprofile=coverage.txt -covermode=atomic
3434
35- - name : Build
36- run : GOOS=linux GOARCH=amd64 go build -o ssh-manager
35+ - name : Build AMD64
36+ run : |
37+ GOOS=linux GOARCH=amd64 go build -o ssh-manager
38+ zip ssh-manager-linux-amd64.zip ssh-manager LICENSE.md
39+ rm -f ssh-manager
3740
38- - name : Pack
39- run : zip ssh-manager.zip ssh-manager LICENSE.md
41+ - name : Build ARM64
42+ run : |
43+ GOOS=linux GOARCH=arm64 go build -o ssh-manager
44+ zip ssh-manager-linux-arm64.zip ssh-manager LICENSE.md
45+ rm -f ssh-manager
4046
4147 - name : Release
4248 uses : docker://antonyurchenko/git-release:v4
4349 env :
4450 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4551 with :
46- args : ssh-manager.zip
52+ args : |
53+ ssh-manager-linux-amd64.zip
54+ ssh-manager-linux-arm64.zip
Original file line number Diff line number Diff line change 11# Changelog
22
3+ ## [ 1.1.0] - 2022-01-29
4+ ## Added
5+ - Support ARM64 architecture
6+
7+ ## Changed
8+ - Updated dependencies
9+
310## [ 1.0.6] - 2021-07-28
411## Changed
512- Updated dependencies
3542## [ 1.0.0] - 2021-02-10
3643- First release
3744
45+ [ 1.1.0 ] : https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.6...v1.1.0
3846[ 1.0.6 ] : https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.5...v1.0.6
3947[ 1.0.5 ] : https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.4...v1.0.5
4048[ 1.0.4 ] : https://github.com/ReasonSoftware/ssh-manager/compare/v1.0.3...v1.0.4
Original file line number Diff line number Diff line change 1717- Only public SSH key is used, private key never leave user's workstation
1818- Leverage AWS IAM for service authentication
1919- SystemD Service
20+ - Supports AMD64/ARM64
2021
2122## Manual
2223
119120
120121# ## Installation
121122
122- - Download installation script : ` curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install.sh --output install.sh`
123- - Alternative script that relies on **crontab** : ` curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install_cronjob.sh --output install.sh`
123+ - Download installation script : ` curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install.sh --output install.sh` (or `install_arm64.sh`)
124+ - Alternative script that relies on **crontab** : ` curl https://raw.githubusercontent.com/ReasonSoftware/ssh-manager/master/scripts/install_cronjob.sh --output install.sh` (or `install_cronjob_arm64.sh`)
124125- Execute with elevated privileges : ` sudo bash install.sh`
125126
126127<details><summary>:information_source : Manual Installation</summary>
Original file line number Diff line number Diff line change 99)
1010
1111// Version contains current application version
12- const Version string = "1.0.6 "
12+ const Version string = "1.1.0 "
1313
1414// Config represents a remote configuration
1515type Config struct {
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ mkdir -p /var/lib/ssh-manager
66
77wget $( curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
88 grep browser_download_url | \
9+ grep linux-amd64 | \
910 awk -F' : ' ' {print $2}' | \
1011 tr -d ' "' ) -O /var/lib/ssh-manager/ssh-manager.zip
1112
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ set -e
3+
4+ rm -rf /var/lib/ssh-manager
5+ mkdir -p /var/lib/ssh-manager
6+
7+ wget $( curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
8+ grep browser_download_url | \
9+ grep linux-arm64 | \
10+ awk -F' : ' ' {print $2}' | \
11+ tr -d ' "' ) -O /var/lib/ssh-manager/ssh-manager.zip
12+
13+ unzip -j /var/lib/ssh-manager/ssh-manager.zip -d /var/lib/ssh-manager
14+ rm -f /var/lib/ssh-manager/ssh-manager.zip
15+
16+ SERVICE=$( cat << -EOF
17+ [Unit]
18+ Description=Central SSH Management Service for AWS Linux EC2
19+ Wants=network-online.target
20+ After=network-online.target
21+
22+ [Service]
23+ Type=oneshot
24+ ExecStart=/var/lib/ssh-manager/ssh-manager
25+ StandardOutput=journal
26+ User=root
27+
28+ [Install]
29+ WantedBy=multi-user.target
30+ EOF
31+ )
32+
33+ echo " $SERVICE " > /etc/systemd/system/ssh-manager.service
34+
35+ TIMER=$( cat << -EOF
36+ [Unit]
37+ Description=Timer for Central SSH Management Service
38+ Wants=network-online.target
39+ After=network-online.target
40+
41+ [Timer]
42+ Unit=ssh-manager.service
43+ OnBootSec=1min
44+ OnUnitInactiveSec=60min
45+ Persistent=true
46+
47+ [Install]
48+ WantedBy=multi-user.target
49+ EOF
50+ )
51+
52+ echo " $TIMER " > /etc/systemd/system/ssh-manager.timer
53+
54+ systemctl daemon-reload
55+ systemctl enable ssh-manager.service
56+ systemctl enable --now ssh-manager.timer
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ mkdir -p /var/lib/ssh-manager
66
77wget $( curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
88 grep browser_download_url | \
9+ grep linux-amd64 | \
910 awk -F' : ' ' {print $2}' | \
1011 tr -d ' "' ) -O /var/lib/ssh-manager/ssh-manager.zip
1112
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ set -e
3+
4+ rm -rf /var/lib/ssh-manager
5+ mkdir -p /var/lib/ssh-manager
6+
7+ wget $( curl -si https://api.github.com/repos/ReasonSoftware/ssh-manager/releases/latest | \
8+ grep browser_download_url | \
9+ grep linux-arm64 | \
10+ awk -F' : ' ' {print $2}' | \
11+ tr -d ' "' ) -O /var/lib/ssh-manager/ssh-manager.zip
12+
13+ unzip -j /var/lib/ssh-manager/ssh-manager.zip -d /var/lib/ssh-manager
14+ rm -f /var/lib/ssh-manager/ssh-manager.zip
15+
16+ (echo " 0 * * * * bash -lc '/var/lib/ssh-manager/ssh-manager > /var/lib/ssh-manager/execution.log'" ) | crontab -
You can’t perform that action at this time.
0 commit comments