scripts

record of some scripts

history

增加历史记忆数量

in ~/.bashrc

1
2
export HISTSIZE=500000
export HISTFILESIZE=500000

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
## add .ssh/id_rsa.pub to ssh target's ~/.ssh/authorized_keys
TARGET_IP=''
TARGET_PSW=''
TARGET_USER=''
TARGET_PORT=22
## ask to input target
read -p "Please input target ip: " TARGET_IP
read -p "Please input target user: " TARGET_USER
read -p "Please input target port [$TARGET_PORT]: " CUSTOM_TARGET_PORT
if [ "$CUSTOM_TARGET_PORT" != "" ]; then
TARGET_PORT=$CUSTOM_TARGET_PORT
fi
## ask to input password, display as *
read -s -p "Please input target password: " TARGET_PSW
echo ""

SRC_FILE=""
# ## ask to confirm src file, y/n
# CUSTOM_SRC_FILE=''
# read -p "Please input src file [$SRC_FILE]: " CUSTOM_SRC_FILE
# if [ "$CUSTOM_SRC_FILE" != "" ]; then
# SRC_FILE=$CUSTOM_SRC_FILE
# fi
# ## parse ~
# SRC_FILE=${SRC_FILE/\~/$HOME}
# echo "Using idpub file: $SRC_FILE"

IF_USE_SSHPASS=1

## append src file to target's ~/.ssh/authorized_keys
if [ "$SRC_FILE" == "" ]; then
sshpass -p $TARGET_PSW ssh-copy-id -p $TARGET_PORT $TARGET_USER@$TARGET_IP
else
sshpass -p $TARGET_PSW ssh-copy-id -i $SRC_FILE -p $TARGET_PORT $TARGET_USER@$TARGET_IP
fi

## check result
if [ $? -eq 0 ]; then
echo "Add ssh key to $TARGET_IP success!"
else
echo "Add ssh key to $TARGET_IP failed! Use sshpass in alias!"
fi

## add alias to ~/.bashrc
### add ssh_$TARGET_IP_$TARGET_USER alias
if [ $IF_USE_SSHPASS -eq 1 ]; then
SSH_CMD="sshpass -p $TARGET_PSW ssh -p $TARGET_PORT $TARGET_USER@$TARGET_IP"
else
SSH_CMD="ssh -p $TARGET_PORT $TARGET_USER@$TARGET_IP"
fi

ALIAS="alias ssh_${TARGET_IP}_$TARGET_USER='$SSH_CMD'"
echo "" >> ~/.bashrc
echo $ALIAS >> ~/.bashrc
echo "Add alias ssh_${TARGET_IP}_$TARGET_USER success!"
### add custom alias
alias_name=''
read -p "Add another custom alias name as ssh shortcut: " alias_name
if [ "$alias_name" != "" ]; then
ALIAS="alias $alias_name='$SSH_CMD'"
echo $ALIAS >> ~/.bashrc
echo "Add alias $alias_name success!"
else
echo "Skip custom alias added!"
fi