что означает эта команда ssh?

что означает эта команда ssh?

Это ответ, который я получил, задавая вопрос о переадресации портов, но я не уверен, что это значит.

$ ssh lab_desktop -L 2200:lab_server:22 -vvv

моя дикая догадка:

сначала подключитесь к lab_desktop, а затем снова войдите в lab_server (порт 22), и полученные данные из этого соединения будут перенаправлены в lab_desktop, порт 2200.

моя догадка верна?

но я все еще не понимаю, что означает это «-vvv»…


обновление после применения ответа:

согласен с полезными ответами и комментариями Creek, я сделал все возможное, чтобы ответ Creek сработал

еще раз, позвольте мне прояснить терминологию

mypc- тот, кто печатает все подряд

lab_desktop- ssh-сервер

lab_server- конечный пункт назначения, с которым я хочу связаться. Этот сервер разрешит подключение только из lab_desktop. И еще одно: он разрешит подключение только через порт 122.

хорошо, поскольку для входа в систему lab_desktopтребуются lab_serverимя пользователя и пароль, я просто сделал аутентификацию RSA для mypc-- lab_desktop и lab_desktop-- lab_serverчтобы не сталкиваться с проблемой постоянного ввода пароля и просто исключить возможность того, что ввод пароля усложнит команду ssh.

После этого я использовал команду:

ssh Black@lab_desktop -v -L 2200:lab_server:122

ниже представлен вывод

chulhyun@chulhyun-Inspiron-3420:~/.ssh$ ssh Black@$labcom -v -L 2200:143.248.146.204:122 
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 143.248.143.198 [143.248.143.198] port 22.
debug1: Connection established.
debug1: identity file /home/chulhyun/.ssh/id_rsa type -1
debug1: identity file /home/chulhyun/.ssh/id_rsa-cert type -1
debug1: identity file /home/chulhyun/.ssh/id_dsa type -1
debug1: identity file /home/chulhyun/.ssh/id_dsa-cert type -1
debug1: identity file /home/chulhyun/.ssh/id_ecdsa type -1
debug1: identity file /home/chulhyun/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 79:64:5d:e7:ac:78:b7:52:3d:9a:6a:3b:c1:37:a0:2d
debug1: Host '143.248.143.198' is known and matches the ECDSA host key.
debug1: Found key in /home/chulhyun/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/chulhyun/.ssh/id_rsa
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Authenticated to 143.248.143.198 ([143.248.143.198]:22).
debug1: Local connections to LOCALHOST:2200 forwarded to remote address 143.248.146.204:122
debug1: Local forwarding listening on ::1 port 2200.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 2200.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = ko_KR.UTF-8
Last login: Tue Jun 24 16:47:27 2014 from 143.248.244.12

Black@Black-PC ~
$

Текст длинный, но, думаю, единственное, на что мне следует обратить внимание, это строки:

debug1: Local connections to LOCALHOST:2200 forwarded to remote address 143.248.146.204:122
debug1: Local forwarding listening on ::1 port 2200.

когда я использую netstat, чтобы проверить, является ли это правдой ( netstat -tulpn | grep 2200), вывод такой:

root@chulhyun-Inspiron-3420:/etc/ssh# netstat -tulpn | grep 2200
tcp        0      0 127.0.0.1:2200          0.0.0.0:*               LISTEN      14966/ssh       
tcp6       0      0 ::1:2200                :::*                    LISTEN      14966/ssh 

так что я думаю, что SSH-переход все-таки установлен..

Теперь проблема возникает, когда я пытаюсь использовать порт 2200 в mypc. Как и предполагал Creek, мне нужно использовать этот порт, поэтому я попытался войти в систему как с помощью учетной записи root, так и с помощью учетной записи пользователя, но результатом была ошибка из-за пароля.

chulhyun@chulhyun-Inspiron-3420:~$ su
password: 
root@chulhyun-Inspiron-3420:/home/chulhyun# ssh root@localhost -p 2200
root@localhost's password: 
Permission denied, please try again.
root@localhost's password: 

root@chulhyun-Inspiron-3420:/home/chulhyun# exit
exit
chulhyun@chulhyun-Inspiron-3420:~$ ssh chulhyun@localhost -p 2200
chulhyun@localhost's password: 
Permission denied, please try again.

Пароли правильные, я в этом уверен. Но я не понимаю, почему это не работает...

Я дошел до этого момента. Не могли бы вы помочь нам дойти дальше?


обновлять

новая проблема, с которой я столкнулся, обсуждается и решается здесь:Linux не распознает правильный пароль при подключении по SSH?

решение1

ssh lab_desktop -L 2200:lab_server:22 -vvv

  1. ssh lab_desktop- создайте ssh-подключение к lab_desktopas$USER
  2. -L 2200:lab_server:22- используя подключение к lab_desktop, перенаправьте порт 2200 на локальной машине на порт 22 наlab_server
  3. -vvv- включить максимальный уровень детализации

Эта команда откроет сокет на вашем локальном компьютере на порту 2200, а затем с помощью SSH-туннеля весь трафик, отправленный на порт 2200 на localhost, будет ПЕРЕНАПРАВЛЕН на порт 22 на lab_server.

Чтобы использовать перенаправленный порт и установить SSH-соединение с lab_server, вам необходимо инициировать второе соединение, подключившись к локальному порту на localhost:

ssh user@localhost -p 2200

решение2

ssh -L 2200:lab_server:22 -vvv lab_desktop

сделает следующее:

Он является подробным на максимальном уровне (3), то есть он будет печатать debug level 3информацию. Пример:

debug3: channel 0: will not send data after close

Позволяет -Lвам туннелировать ваши данные через указанный порт 2200на вашей стороне lab_desktopк lab_serverпорту on 22.

Таким образом, если вы подключитесь к lab_desktopпорту 2200, вы будете получать данные с lab_serverпорта 22.

Хороший источник информации о переадресации портов SSH:здесь.

решение3

http://www.explainshell.com/explain?cmd=ssh+lab_desktop+-L+2200%3Alab_server%3A22+-vvv

Если сайт не работает, вы можете запустить свою собственную версию.

https://github.com/idank/explainshell

Выдержка с веб-сайта

введите описание изображения здесь

Связанный контент