Linux 中 ssh host 代理配置及远程免密码登陆

Linux 中 ssh host 代理配置及远程免密码登陆

1 前言

​在登陆远程服务器时,很多时候会采用跳板机的方式登录,而 Linux 和 Mac 上没有免费的类似 Windows 上的 xsehll 工具,虽然 secure CRT 网上有破解版,但是存在安全隐患,所以使用自带的终端很安全方法,但是这又给维护人员带来了很大的不便,登录服务器需要 IP, 并且要先登录跳板机然后再登录目标机。

​这里给大家介绍的方法是配置本地的 ssh 配置文件可以给目标机器一个别名,方便记忆区分,还可以配置代理机器( 即跳板机 ),这样节省了一些步骤,然后再通过配置免密码登录,可以大大节省登录机器的时间,提高开发及维护人员的生产力。

2 ssh host 代理配置

  1. 进入本机的 ssh 配置目录,直接在终端输入 cd ~/.ssh/即可。

  2. 编辑 config 文件, 如果没有可以手动创建。

  3. 添加配置信息

    
    # 这是跳板机的配置,给跳板机的 IP 起个别名: jump_machine, 用户名: owen
    
    Host jump_machine
       HostName 192.168.1.4
       User owen
       IdentityFile ~/.ssh/jump_machine
    
    
    # 这是目标机的配置,使用跳板机( jump_machine )做代理机器,别名: remote_srv_machine, 用户名: owen
    
    Host remote_srv_machine
       HostName 192.168.1.5
       ProxyCommand ssh jump_machine -W %h:%p
       User owen

同一个跳板机可供众多机器做代理,按照同样方法配置即可。

3 远程免密码登录

上节介绍了跳板机代理的配置方法,为登录节省了一个步骤,但是在直接登录远程机器是还是需要输入两次密码,本节介绍下远程登录免密码的配置方法,这里只介绍本地和跳板机之间的免密码登录,这样也可以只输入目标机的密码而不需要输入跳板机的密码了,也是可以节省时间的。当然也可以配置下跳板机和目标机之间的免密码登录,在这里就不演示了。

  1. 生成 rsa 公钥和私钥: ssh-keygen -t rsa

    owen@ubuntu:~$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/owen/.ssh/jump_machine): # 这里输入要生成的文件名
    Enter passphrase (empty for no passphrase):                       # 这里输入密码 
    Enter same passphrase again:                                      # 这里重复输入密码
    Your identification has been saved in /home/owen/.ssh/jump_machine.
    Your public key has been saved in /home/owen/.ssh/jump_machine.pub.
    The key fingerprint is:
    e3:67:c3:6b:35:10:14:fa:43:e0:0c:4f:51:c9:a2:23 owen@ubuntu
    The key's randomart image is:
    +--[ RSA 2048]----+
    |    .+=*..       |
    |  .  += +        |
    |   o oo+         |
    |  E . . o        |
    |      ..S.       |
    |      .o .       |
    |       .o +      |
    |       ...oo     |
    |         +.      |
    +-----------------+
  2. ssh-copy-id将公钥到跳板机中

    owen@ubuntu:~$ ssh-copy-id -i .ssh/jump_machine.pub  owen@jump_machine

    注意:

    • ssh-copy-id 将公钥写到跳板机的 ~/.ssh/authorized_keys 文件中
    • 也可以直接将公钥内容复制到跳板机的 ~/.ssh/authorized_keys 文件中
  3. 登录到跳板机不用输入密码

    1. owen@ubuntu:~$ ssh jump_machine
    2. Last login: Thu Nov  2 08:55:38 2017 from 192.168.1.3

    常见问题:

    • 第一次需要密码登录
    • 总是提示输入密码( 生成密钥时的密码 ): 输入 ssh-add -k ~/.ssh/jump_machine 即把专用密钥添加到 ssh-agent 的高速缓存中
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值