-
Notifications
You must be signed in to change notification settings - Fork 10
/
ansible-ssh
executable file
·30 lines (25 loc) · 1.02 KB
/
ansible-ssh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
# Copyright (C) 2020 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <https://www.gnu.org/licenses/>.
function run {
printf '%s\n' "$*" > /dev/tty
"$@"
}
ip=$(< linodes jq -rc ".[] | select(.label | contains(\"$1\")) | .ip_public" | head -n1)
if [ -n "$ip" ]; then
exec ssh -o UserKnownHostsFile=/dev/null -o 'StrictHostKeyChecking=no' -o PreferredAuthentications=publickey "root@$ip" < /dev/tty
else
echo no host matches >&2
exit 1
fi