ssh证书登陆vpc/并且反向代理

1.配置ssh

1. client上
ssh-keygen -t rsa

2. client上
vim ~/.ssh/id_rsa.pub

3.
https://console.cloud.google.com/compute/instancesDetail/zones/asia-east2-a/instances/instance-1

4.
在3连接里面的[SSH 密钥]添加2中的pub key

#3,4步骤如果不是在vps上,可以在对端server执行: cat id_rsa.pub(client的) >> ~/.ssh/authorized_keys

5.client上不用指定用户直接能登陆
ssh ip.pub 

2.远端代理上网 -D(dynamic)

pub.ip能上google,本机公网proxy.ip,proxy.ip(本机)能连接pub.ip,proxy.ip(本机)是代理机:
ssh -CfNg -D proxy.ip:9999 root@pub.ip

本机代理自己的流量
ssh -CfNg -D 127.0.0.1:9999 root@pub.ip

3.反向代理 -R(remote)

1.主机A(a.ip)上
ssh -N -f -R 8888:localhost:22 root@pub.ip
2.服务器(pub.ip)上,需要用pub key认证自己
a.ssh-keygen -t rsa
b.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
c.ssh  -fN -g -L 9999:127.0.0.1:8888 127.0.0.1
3.主机B(b.ip)上执行如下就能登陆内网主机A
ssh -p 9999 pc@pub.ip
4.主机A使用证书登陆,禁用密码,使用autossh防止掉线
apt-get install autossh
brew install autossh
autossh -M 5678 ssh -N -f -R 8888:localhost:22 root@pub.ip
https://blog.csdn.net/qq_32506245/article/details/81355497
https://www.cnblogs.com/zzugyl/p/3761620.html
取消mac密码策略:
pwpolicy -clearaccountpolicies

4.两台机器ssh无密码登陆

# 1【A中】
ssh-keygen -t rsa


# 2【A中】
#linux
ssh-copy-id username@【B地址】
#mac
cat ~/.ssh/id_rsa.pub | ssh username@【B地址】 "umask 077; mkdir -p .ssh ; cat >> .ssh/authorized_keys"


# 3【A中】
ssh username@【B地址】 不需要密码

原文地址:https://www.cnblogs.com/amize/p/13870260.html