SSH port-forwarding works on one port but not on the other - ssh

I am trying this command
ssh username#example -L 27017:10.230.0.6:27017 -L 9201:10.290.0.8:9200 -L 5601:10.210.0.5:5601
The port forwarding works for the 27107 but not the others, do I need to override the ports?
I always get the same error which is:
channel 8: open failed: connect failed: Connection timed out
channel 7: open failed: connect failed: Connection timed out

ssh username#example ... -L 9201:10.290.0.8:9200 -L 5601:10.210.0.5:5601
...
channel 8: open failed: connect failed: Connection timed out
When you connect to port 9201 or 5601 on your local system, that connection is tunneled through your ssh link to the ssh server on the remote ssh server. From there, the ssh server makes a TCP connection to the target of the tunnel--10.290.0.8:9200 or 10.210.0.5:5601--and relays data between the tunneled connection and the connection to target of the tunnel.
The "Connection timed out" error is coming from the remote ssh server when it tries to make the TCP connection to the target of the tunnel. "Connection timed out" means that the ssh server process transmitted a TCP connection request to the target system, and it never received a response.
Common reasons for a connection timeout include:
The target system is down or disconnected from the network.
Some firewall or other network device is blocking traffic between the ssh server and the target system.
The IP address and/or port is incorrect, and the connection attempts are going to the wrong place.

Related

Unable to connect to gitlab, Connection timed out

I have created ssh keys on unbuntu under id_company and id_company.pub, and updated config as:
Host gitlab.company.com
Hostname gitlab.company.com
#PreferredAuthentications publickey
IdentityFile ~/.ssh/id_company
Now, I am trying to test the connection using: ssh -T git#gitlab.company.com, But I am receiving ssh: connect to host gitlab.company.com port 22: Connection timed out I don't know what might be causing it, or am I doing something wrong?
Make sure first your gitlab.company.com server is accessible through port 22:
curl -v telnet://gitlab.company.com:22
I know in my company, no SSH access would ever be granted: HTTPS only.

SSH remote port forwarding through bastion server

I'm trying to establish a remote port forwarding to my Mac (target 4004) via a bastion host and Server-A to a Port (1555) on Server B.
So the whole connection is:
Mac:4004 => Bastion:22 => A:22 => B:1555
And the target is my Mac should have a Port 4004 forwarded from B:1555.
What is working so far?
I can connect to Server A with the command ssh user-bastion#user-A#server-A#server-bastion
On Server A I can establish a connection e.g. telnet to B:1555
On my windows client I can remote forward the port B:1555 to my local machine via Putty.
I'm now looking for the ssh command to establish this connection on my Mac.
Commands I tried:
Of course I have already searched for it and I've already tried different versions.
e.g.
ssh -fNT -R 1555:localhost:4004 -J user-bastion#user-A#server-A#server-bastion server-B
ssh -N user-bastion#user-A#server-A#server-bastion -R server-B:1555:localhost:4004
I always receive message like "Warning: remote port forwarding failed for listen port 1555"

SSH Socks Server

I'm trying to run a ssh SOCKS server on Windows 7 (listening on port 12345).
Here's the output I get on Cygwin:
$ ssh -v -D 12345 localhost
OpenSSH_6.8p1, OpenSSL 1.0.2c 12 Jun 2015
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to localhost [::1] port 22.
debug1: connect to address ::1 port 22: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: connect to address 127.0.0.1 port 22: Connection refused
ssh: connect to host localhost port 22: Connection refused
Why is it trying to connect to localhost:22?
Looks like it's trying to reach sshd running on localhost.
I thought the ssh client was enough to set up a local SOCKS server. If it isn't, why do I need sshd running?
From https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding:
"Dynamic port forwarding turns your SSH client into a SOCKS proxy server"
To explain why you need a (remote) ssh server, ssh can do three (or four) kinds of forwarding; quoting the man page:
-L Specifies that the given port on the local (client) host is to be
forwarded to the given host and port on the remote side. This
works by allocating a socket to listen to port on the local side,
optionally bound to the specified bind_address. Whenever a con-
nection is made to this port, the connection is forwarded over
the secure channel, and a connection is made to host port
hostport from the remote machine. [...]
-R Specifies that the given port on the remote (server) host is to
be forwarded to the given host and port on the local side. This
works by allocating a socket to listen to port on the remote
side, and whenever a connection is made to this port, the connec-
tion is forwarded over the secure channel, and a connection is
made to host port hostport from the local machine. [...]
-D Specifies a local ``dynamic'' application-level port forwarding.
This works by allocating a socket to listen to port on the local
side, optionally bound to the specified bind_address. Whenever a
connection is made to this port, the connection is forwarded over
the secure channel, and the application protocol is then used to
determine where to connect to from the remote machine. Currently
the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
as a SOCKS server. [...]
-X and -Y enable forwarding for X11. This is a small but convenient variation of -R.
Note that in all cases the data is forwarded over the ssh tunnel, from the local machine to the ssh server or the reverse, and (therefore) the ssh tunnel must exist for the data to be forwarded over. The only difference between -L and -D is that -D uses SOCKS4/5 on the local end to specify where the remote end connects to.
If you want a SOCKS proxy that connects directly from the proxy to the destination, not over an ssh tunnel, you need a plain SOCKS proxy, not ssh+sshd.
Your trying to connect without a port. So port 22 is used. Once that connection is open then SSH will set up the socks proxy on the port you specified (12345)
You need to connect to a valid SSH server. You specify the port with the -p flag

SSH works fine with .ssh/config, but fabric breaks

I have an .ssh/config:
Host host01 host01.in.mynet
User costello
HostName 1.2.3.4
Port 22222
Which is working fine with plain ssh:
ssh host01
costello#host01 ~ ยป
But fabric is not using that config:
$ fab deploy:host=host01
[host01] Executing task 'deploy'
Fatal error: Low level socket error connecting to host host01 on port 22: Connection refused (tried 1 time)
Underlying exception:
Connection refused
Aborting.
Why is fabric not using the ssh's configuration? I would really like to avoid duplicating the configuration for fabric or, even worse, change the ssh port of my server.

OS X SSH connect to host operation timed out

When running
ssh -v myuser#xx.xxx.xxx.xx
I connect to the server and can operate the session
When running
ssh myuser#xx.xxx.xxx.xx
the behaviour returns
ssh: connect to host xx.xxx.xxx.xx port 22: Operation timed out
THis behaviour appeared after I stated on the server:
ssh-add ~/.ssh/id_rsa
thus adding the id to the agent has messed up ssh... How to fix?