高级ssh配置文件

Advance ssh config file

如何直接ssh到远程服务器,下面是详细说明。

Local machine ---> Jump1 ----> Jump2 ----> Remote Server

从本地机器无法直接访问远程服务器并且 Jump2 被禁用 只能从 Jump2

访问远程服务器

远程服务器没有sshkegen,我们必须手动输入密码。

Local Machine 我们使用 ip 和端口 2222 访问 Jump1 然后从 Jump 1 我们使用主机名默认端口 22 访问 Jump2

使用ssh/config 文件,我们能够毫无问题地访问jump2 服务器。但是我的要求是直接访问远程服务器。

有什么方法可以让我不介意输入远程服务器的密码。

日志

 ssh -vvv root@ip address
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /root/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ip address [ip address] port 22.

我的配置文件

Host jump1
    Hostname ip.109
    Port 2222
    User avdy

Host jump2
    Hostname ip.138
    Port 22
    ProxyCommand ssh -W %h:%p jump1
    User avdy

Host remote-server
    Hostname ip.8
    Port 22
    ProxyCommand ssh -W %h:%p jump2
    User root

设置你的~/.ssh/config:

Host Jump1
  User jump1user
  Port 2222
Host Jump2
  ProxyCommand ssh -W %h:%p Jump1
  User jump2user
Host RemoveServer
  ProxyCommand ssh -W %h:%p Jump2
  User remoteUser

或使用新的 OpenSSH 7.3:

Host RemoveServer
  ProxyJump jump1user@Jump1,jump2user@Jump2
  User remoteUser

然后您可以简单地使用 ssh RemoteServer

连接