如何正确设置SSH隧道

小威胁

假设我的家庭网络中有一台运行Ubuntu和Glassfish Application Server的计算机。我正在使用WiFi在其上调试Web应用程序。下一步将是上传一些敏感数据。我担心WiFi的安全性。我不想让此设置过于复杂,也不会失去我的WiFi舒适度。因此,我决定将Glassfish的侦听器绑定到:: 1,然后使用ssh隧道将服务器的端口8080转发到我的笔记本电脑。

wget localhost:8080/ 正在按预期工作,下载根index.html

不能正常访问服务器的8080端口。

ssh -L 8080:homeserver:8080 minorthreat@homeserver - channel 2: open failed: connect failed: Connection refused

不起作用。我不知道为什么

UPD:

  • 我想通过ssh连接到远程服务器,所以凭据可以。我看不出将-vvv列出的理由,但无论如何我还是将其包括在内。

  • 我注意到ssh出于某种原因无法注册known_hosts,但这是优先级较低的另一个问题。我将在不久的将来使用基于证书的身份验证来使其工作

  • 当glassfish的侦听器绑定到0.0.0.0时,此隧道有效。,这还不行,我想禁止与服务器的任何连接,但那些来自ssh隧道的连接(我的笔记本电脑的连接除外)。

  • 问题是它不会转发连接笔记本电脑[localhost接口]:8080-> homeserver [:: 1接口]:8080

    OpenSSH_5.4p1, OpenSSL 1.0.0 29 Mar 2010
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug2: ssh_connect: needpriv 0
    debug1: Connecting to homeserver [192.168.1.101] port 22.
    debug1: Connection established.
    Could not create directory '/home/mt/.ssh'.
    debug1: identity file /home/mt/.ssh/id_rsa type -1
    debug1: identity file /home/mt/.ssh/id_rsa-cert type -1
    debug1: identity file /home/mt/.ssh/id_dsa type -1
    debug1: identity file /home/mt/.ssh/id_dsa-cert type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
    debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 pat OpenSSH*
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.4
    debug2: fd 3 setting O_NONBLOCK
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received                                                                                                                                                                                                               
    /..... skip encryption details to fit char limits ........./
    debug2: kex_parse_kexinit: none,[email protected]
    debug2: kex_parse_kexinit: none,[email protected]
    debug2: kex_parse_kexinit:
    debug2: kex_parse_kexinit:
    debug2: kex_parse_kexinit: first_kex_follows 0
    debug2: kex_parse_kexinit: reserved 0
    debug2: mac_setup: found hmac-sha1
    debug1: kex: server->client aes128-ctr hmac-sha1 none
    debug2: mac_setup: found hmac-sha1
    debug1: kex: client->server aes128-ctr hmac-sha1 none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<2048<8192) sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
    debug2: dh_gen_key: priv key bits set: 181/320
    debug2: bits set: 1066/2048
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
    debug3: check_host_in_hostfile: host homeserver filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /etc/ssh/ssh_known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /etc/ssh/ssh_known_hosts
    debug3: check_host_in_hostfile: host 192.168.1.101 filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host 192.168.1.101 filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host 192.168.1.101 filename /etc/ssh/ssh_known_hosts
    debug3: check_host_in_hostfile: host 192.168.1.101 filename /etc/ssh/ssh_known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /etc/ssh/ssh_known_hosts
    debug2: no key of type 0 for host homeserver
    debug3: check_host_in_hostfile: host homeserver filename /home/mt/.ssh/known_hosts2
    debug3: check_host_in_hostfile: host homeserver filename /etc/ssh/ssh_known_hosts2
    debug3: check_host_in_hostfile: host homeserver filename /home/mt/.ssh/known_hosts
    debug3: check_host_in_hostfile: host homeserver filename /etc/ssh/ssh_known_hosts
    debug2: no key of type 2 for host homeserver
    The authenticity of host 'homeserver (192.168.1.101)' can't be established.                                                                                                                                                                      
    RSA key fingerprint is 45:84:58:01:80:95:bb:71:0e:a3:66:2f:e6:cd:e9:34.
    Are you sure you want to continue connecting (yes/no)? yes
    Failed to add the host to the list of known hosts (/home/mt/.ssh/known_hosts).
    debug2: bits set: 1010/2048
    debug1: ssh_rsa_verify: signature correct
    debug2: kex_derive_keys
    debug2: set_newkeys: mode 1
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug2: set_newkeys: mode 0
    debug1: SSH2_MSG_NEWKEYS received
    debug1: Roaming not allowed by server
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug2: service_accept: ssh-userauth
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug2: key: /home/mt/.ssh/id_rsa (0x0)
    debug2: key: /home/mt/.ssh/id_dsa (0x0)
    debug1: Authentications that can continue: publickey,password
    debug3: start over, passed a different list publickey,password
    debug3: preferred publickey,keyboard-interactive,password
    debug3: authmethod_lookup publickey
    debug3: remaining preferred: keyboard-interactive,password
    debug3: authmethod_is_enabled publickey
    debug1: Next authentication method: publickey
    debug1: Trying private key: /home/mt/.ssh/id_rsa
    debug3: no such identity: /home/mt/.ssh/id_rsa
    debug1: Trying private key: /home/mt/.ssh/id_dsa
    debug3: no such identity: /home/mt/.ssh/id_dsa
    debug2: we did not send a packet, disable method
    debug3: authmethod_lookup password
    debug3: remaining preferred: ,password
    debug3: authmethod_is_enabled password
    debug1: Next authentication method: password
    minorthreat@homeserver's password:                                                                                                                                                                                                                   
    debug3: packet_send2: adding 48 (len 63 padlen 17 extra_pad 64)
    debug2: we sent a password packet, wait for reply
    debug1: Authentication succeeded (password).
    debug1: Local connections to localhost:8080 forwarded to remote address homeserver:8080
    debug3: channel_setup_fwd_listener: type 2 wildcard 0 addr NULL
    debug1: Local forwarding listening on 127.0.0.1 port 8080.
    debug2: fd 4 setting O_NONBLOCK
    debug3: fd 4 is O_NONBLOCK
    debug1: channel 0: new [port listener]
    debug1: channel 1: new [client-session]
    debug3: ssh_session2_open: channel_new: 1
    debug2: channel 1: send open
    debug1: Requesting [email protected]
    debug1: Entering interactive session.
    debug1: client_input_global_request: rtype [email protected] want_reply 0
    debug2: callback start
    debug2: client_session2_setup: id 1
    debug2: channel 1: request pty-req confirm 1
    debug2: channel 1: request shell confirm 1
    debug2: fd 3 setting TCP_NODELAY
    debug2: callback done
    debug2: channel 1: open confirm rwindow 0 rmax 32768
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: PTY allocation request accepted on channel 1
    debug2: channel 1: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: shell request accepted on channel 1
    Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-91-generic x86_64)
    
安德拉斯·科恩(AndrásKorn)

您的问题是您要告诉SSH连接到远程端上的homeserver:8080(正向连接),但是您的glassfish并没有绑定到该IP。它绑定到本地主机。

尝试一下ssh -L 8080:localhost:8080 minorthreat@homeserver

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章