Access to remote SSH server does not distinguish the connection by port
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Nautilus |
Fix Released
|
Undecided
|
Unassigned | ||
nautilus (Ubuntu) |
Fix Released
|
Low
|
Ubuntu Desktop Bugs |
Bug Description
When accessing an SSH server, the connection is not identified by the used port. If there is a configuration, where port forwarding is used to forward traffic to multiple SSH servers, only one of the servers can be accessed.
For example, let there be two SSH servers
192.168.1.10:22
192.168.1.20:22
behind a gateway with public address
192.168.2.1
and with port forwarding configuration
192.168.2.1:2201 -> 192.168.1.10:22
192.168.2.1:2202 -> 192.168.1.20:22
Now create two connections with nautilus to the SSH servers:
Service type: SSH
Server: 192.168.2.1
Port: 2201
Folder: /home/user
User name: user
Name to use for connection: Conn1
Service type: SSH
Server: 192.168.2.1
Port: 2202
Folder: /home/user
User name: user
Name to use for connection: Conn2
Connect to "Conn1". You will see the directory listing of "user" in server 192.168.1.10. Close the window and connect to "Conn2". You will still see the same directory listing. Expecting to see directory listing of "user" in server 192.168.1.20 instead.
Even tried to enter the port information to the "Server" field, like this:
Server: 192.168.2.1:2201
Server: 192.168.2.1:2202
with no change in behaviour.
I am using Nautilus 2.14.1 in Ubuntu 6.06 LTS.
Hello,
I tried testing that here, and I also had problems. I think the problem is with remote host identification.
ie, if you try to connect to the servers using ssh from the command line, like ssh -p 2201 192.168.2.1 and ssh -p 2202 192.168.2.1, one command will work, the other will fail with an error message like "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"
One solution would be to add two ip addresses to the gateway, 192.168.2.10 and 192.168.2.20 one for each remote ssh server, and use DNAT.
192.168.2.10 -> 192.168.1.10
192.168.2.20 -> 192.168.1.20