ssh免密登录和代理连接线上服务器
一、本地ssh配置
1、本地没有.ssh目录,第一次初始化ssh,一直回车键默认值
ssh-keygen -t rsa -P ''
2、设置目录权限
chmod 700 -R .ssh 设置目录权限
3、公钥追加到本机
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4、修改权限
chmod 600 ~/.ssh/authorized_keys
5、测试本地
ssh localhost
6、如遇到异常,请执行一下步骤
vi /etc/ssh/sshd_config PubkeyAuthentication yes # 启⽤公钥私钥配对认证⽅式,ssh-copy-id需要此权限
sudo systemsetup -f -setremotelogin on
二、本地免密连接远端服务器或堡垒机
1、查看本地.ssh目录的公钥内容
cat ~/.ssh/id_rsa.pub
2、复制公钥内容,修改服务器的authorized_keys文件,在最后追加本机的公钥
vim ~/.ssh/authorized_keys
在最后追加上复制的本机公钥
3、测试,ubuntu使用的是服务器的用户名
ssh ubuntu@81.1.1.160
三、使用测试机做跳板,连接线上服务器
1、开启ssh本地通道
格式说明: ssh -L 本地代理端口 : 线上服务器 : 线上端口 测试机用户:测试机地址 -N
备注:连接的是线上阿里云rds,需要rds对访问ip开白名单。获取公网ip: curl ifconfig.io al-bj-habo-test01
ssh -v -L 9999:***.mysql.rds.aliyuncs.com:3306 worker@10.255.0.1 -N
![](https://img2024.cnblogs.com/blog/2350829/202407/2350829-20240706190807677-874874103.png)
2、本机连接线上,使用本机的代理端口连接
mysql -h 127.0.0.1 -P 9999 -uroot -p
![](https://img2024.cnblogs.com/blog/2350829/202407/2350829-20240706190729158-966243738.png)
3、问题排查,可以使用traceroute查看路由的地址,确定哪个环节不通
traceroute -n www.baidu.com