0

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

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

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

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

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

使用 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
4

1 回答 1

3

设置你的~/.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

于 2017-04-24T07:00:12.713 回答