ssh config如何配置用host名替代[email protected],以及如何配置通过跳板机登录?(~/.ssh/config、ProxyCommand、nc、免密配置)

懂的都懂,就不写前言后序了。作为一个简单记录

1. 用host名替代繁琐的root@1.1.1.1

1.1 要点

  • 场景:需要ssh root@1.1.1.1
  • 常规用法: ssh root@1.1.1.1
  • 配置后用法: ssh server1
  • 配置方式:打开 ~/.ssh/config
Host ser1
  HostName 192.168.101.81
  User root

1.2 实操:

修改:
在这里插入图片描述
简化登录方式:
在这里插入图片描述
当然为了免密登录更方便,需要配置一下ssh公钥,本文就详细介绍操作方式与原理了。

2. 对于需要跳板机才能登录的场景如何使用ssh一步登录?

serverA
serverB
端口22233作为处理跳板请求地址
serverC

2.1 要点

  • 需要跳板机配置特定端口进行登录,比如22233(本质是sshd启动了一个accept的端口处理请求,这里很好体现了网络分层架构中port作为业务主体的特点)
  • 在~/.ssh/config中配置跳板机的快速登录方式,同时配置实际机器的登录方式
  • 实际机器的登录方式需要加一个ProxyCommand,然后使用nc命令进行跳转
Host jump1
  HostName 192.168.101.90
  Port 22233
  User root

Host bm3
  HostName 192.168.101.91
  ProxyCommand ssh jump1 nc %h %p
  User root

实操:

配置效果:
在这里插入图片描述
登录效果:
因为实际跳板机环境,下图展示的跳板机使用了11,并未使用前面的90服务器。不过不影响。主要关注流程。
在这里插入图片描述
然后可以使用ssh -v查看详细过程:
在这里插入图片描述
可以看到有via proxy的信息
在这里插入图片描述

综述

  • 从sshd设计者角度来看问题,核心就是透传ssh报文,中间如果有代理,原理也是先需要从serverA能够通过ssh访问serverB(这里只需满足基本的ssh配置),然后从serverB登录到serverC(这里也只需满足基本的ssh配置和鉴权),只是需要多一个在serverB的proxy命令,表示要到serverC认真
  • 值得注意的是,需要添加多个ssh公钥以支持每次都免密登录,配置的方式是,把serverA的pubkey存到serverB的authorized_keys已支持A免密登录B,B登录C同理也需要配置一下,方可从serverA免密登录到serverB
  • 按照上面的这种配置模式,哪怕有100个跳板机,也能用一条命令登录,一直穿透过去。这才是它真正的魅力和通透感。
  • 另外简单提一句配置pubkey的方式:2步骤,以A登录B为例,A使用ssh-keygen生成公钥到~/.ssh/id_pub.key,把公钥dump出来存到B的~/.ssh/authorized_keys中。注意公钥名字根据具体配置使用。
  • 本文讲述的方式是一种工程场景非常常用的提效方法,使用灵活后犹如一把剑,便可仗剑走天涯。
  • 59
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值