ssh

王鹏鑫發表於2024-06-21

最初是在找mac上的ssh軟體,但看到一個用iterm和ssh config的設定

常規配置

正常設定

Host * 
   Port 22
   ServerAliveInterval 120

Host target
    HostName $HOST
    Port $PORT
    IdentityFile ~/.ssh/id_rsa
    User $USER

$分別指代自己對應的埠號、使用者名稱等等

免密登入

事例:

ssh-copy-id -i ~/.ssh/id_rsa.pub -p 11040 root@183.232.159.7

可能會遇到設定了也沒用的情況,得檢查目標機器的sshd config是否開啟金鑰登入:

1.登入目標機器

2.vim /etc/ssh/sshd_config

3.修改配置

PasswordAuthentication yes

RSAAuthentication yes

PubkeyAuthentication yes

4.重啟sshd服務

systemctl restart sshd

跳板機設定

Host gateway
    HostName $GATEWAY_HOST
    Port $GATEWAY_PORT
    IdentityFile ~/.ssh/id_rsa
    User $GATEWAY_USER

Host target
    HostName $TARGET_HOST
    User $TARGET_USER
    IdentityFile ~/.ssh/id_rsa
    ProxyCommand ssh gateway nc %h %p 2> /dev/null # 或者 ProxyCommand ssh gateway -W %h:%p
%h 表示 hostname
%p 表示 port
ssh target 'mkdir -p .ssh && cat > .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
ssh target
scp some_file target:/home/user
rsync -avP * target:/home/user/some_dir