30 lines
774 B
Bash
30 lines
774 B
Bash
|
cite about-plugin
|
||
|
about-plugin 'ssh helper functions'
|
||
|
|
||
|
function add_ssh() {
|
||
|
about 'add entry to ssh config'
|
||
|
param '1: host'
|
||
|
param '2: hostname'
|
||
|
param '3: user'
|
||
|
group 'ssh'
|
||
|
|
||
|
[[ $# -ne 3 ]] && echo "add_ssh host hostname user" && return 1
|
||
|
[[ ! -d ~/.ssh ]] && mkdir -m 700 ~/.ssh
|
||
|
[[ ! -e ~/.ssh/config ]] && touch ~/.ssh/config && chmod 600 ~/.ssh/config
|
||
|
echo -en "\n\nHost $1\n HostName $2\n User $3\n ServerAliveInterval 30\n ServerAliveCountMax 120" >> ~/.ssh/config
|
||
|
}
|
||
|
|
||
|
function sshlist() {
|
||
|
about 'list hosts defined in ssh config'
|
||
|
group 'ssh'
|
||
|
|
||
|
awk '$1 ~ /Host$/ {for (i=2; i<=NF; i++) print $i}' ~/.ssh/config
|
||
|
}
|
||
|
|
||
|
function ssh-add-all() {
|
||
|
about 'add all ssh private keys to agent'
|
||
|
group 'ssh'
|
||
|
|
||
|
grep -slR "PRIVATE" ~/.ssh | xargs ssh-add
|
||
|
}
|