I don’t see that anyone has spelled out the specific risk with SSH port forwarding in detail.
If you are inside a firewall and have outbound SSH access to a machine on the public internet, you can SSH to that public system and in the process create a tunnel so that people on the public internet can ssh to a system inside your network, completely bypassing the firewall.
If fred is your desktop and barney is an important server at your company and wilma is public, running (on fred):
ssh -R*:9000:barney:22 wilma
and logging in will let an attacker ssh to port 9000 on wilma and talk to barney’s SSH daemon.
Your firewall never sees it as an incoming connection because the data is being passed through a connection that was originally established in the outgoing direction.
It’s annoying, but a completely legitimate network security policy.
Related Posts:
- Git: How to solve Permission denied (publickey) error when using Git?
- Putty: Getting Server refused our key Error
- Copying a local file from Windows to a remote server using scp
- ssh: The authenticity of host ‘hostname’ can’t be established
- ssh “permissions are too open” error
- Permission denied (publickey,keyboard-interactive)
- How to deal with “Pseudo-terminal will not be allocated because stdin is not a terminal.”
- What is actually in known_hosts?
- ‘heroku’ does not appear to be a git repository
- How to solve “sign_and_send_pubkey: signing failed: agent refused operation”?
- How to fix request failed on channel 0
- How to scp in Python?
- Forward X11 failed: Network error: Connection refused
- PuTTY PSCP error “Local to local copy not supported” when username contains a slash
- Starting ssh-agent on Windows 10 fails: “unable to start ssh-agent service, error :1058”
- Git error: “Host Key Verification Failed” when connecting to remote repository
- Convert PEM to PPK file format
- Copying files using rsync from remote server to local machine
- How to read iPhone files without jailbreaking?
- SSH to Vagrant box in Windows?
- How to use Sublime over SSH
- Use qdel to delete all my jobs at once, not one at a time
- Automating command/script execution using PuTTY
- Public and Private Keys are Incorrect for user
- How to automate SSH login with password?
- ssh returns “Bad owner or permissions on ~/.ssh/config”
- How do I change my private key passphrase?
- Create a public SSH key from the private key?
- How do diff over ssh?
- “Add correct host key in known_hosts” / multiple ssh host keys per hostname?
- SSH use only my password, Ignore my ssh key, don’t prompt me for a passphrase
- ssh-agent forwarding and sudo to another user
- Non interactive git clone (ssh fingerprint prompt) [duplicate]
- How to check sshd log?
- What does “Warning: untrusted X11 forwarding setup failed: xauth key data not generated” mean when ssh’ing with -X?
- What’s the difference between authorized_keys and authorized_keys2?
- Is my password compromised because I forgot to hit Enter after ssh username?
- How do I make ssh fail rather than prompt for a password if the public-key authentication fails?
- ssh-keygen does not create RSA private key
- OpenSSH: Difference between internal-sftp and sftp-server
- What significance does the user/host at the end of an SSH public key file hold?
- SSH Suddenly returning Invalid format
- How can I prevent the warning No xauth data; using fake authentication data for X11 forwarding?
- How to recover from “Too many Authentication Failures for user root”
- SFTP logging: is there a way?
- Why does my OpenSSH key fingerprint not match the AWS EC2 console keypair fingerprint?
- Login without running bash_profile or bashrc
- How do I do Multihop SCP transfers between machines?
- scp without known_hosts check
- How do I validate an RSA SSH public key file (id_rsa.pub)?
- How can I run arbitrarily complex command using sudo over ssh?
- Add comment to existing SSH public key
- ssh connection takes forever to initiate, stuck at “pledge: network”
- What is the benefit of not allocating a terminal in ssh?
- bad ownership or modes for chroot directory component
- Ansible stuck on gathering facts
- Is it possible to use rsync over sftp (without an ssh shell)?
- SSH Allow Password For One User, Rest Only Allow Public Keys [duplicate]
- scp with port number specified
- ssh : Permission denied (publickey,gssapi-with-mic)
- ssh connect Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
- scp with port number specified
- Could not open a connection to your authentication agent
- Could not open a connection to your authentication agent
- ssh remote host identification has changed
- Is there a way to get all IP addresses of youtube to block it with Windows Firewall?
- How to establish ssh key pair when “Host key verification failed”
- How to kill a process running on particular port in Linux?
- AWS – Disconnected : No supported authentication methods available (server sent :publickey)
- How can you find out which process is listening on a TCP or UDP port on Windows?
- Perform commands over ssh with Python
- How to set ssh timeout?
- ssh: The authenticity of host ‘hostname’ can’t be established
- Using putty to scp from windows to Linux
- mysql_config not found when installing mysqldb python interface
- SSH -X “Warning: untrusted X11 forwarding setup failed: xauth key data not generated”
- Significance of port 3000 in Express apps
- XAMPP Port 80 in use by “Unable to open process” with PID 4
- ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known
- stop all instances of node.js server
- Pseudo-terminal will not be allocated because stdin is not a terminal
- X11 forwarding request failed on channel 0
- Node.js Port 3000 already in use but it actually isn’t?
- What is the difference between a port and a socket?
- What is the difference between ports 465 and 587?
- Command line for looking at specific port
- SSH library for Java
- mysql_config not found when installing mysqldb python interface
- mysql_config not found when installing mysqldb python interface
- What is process.env.PORT in Node.js?
- Pseudo-terminal will not be allocated because stdin is not a terminal
- How to download a file from server using SSH?
- #1045 – Access denied for user ‘root’@’localhost’ (using password: YES)
- How do I kill the process currently using a port on localhost in Windows?
- connect to host localhost port 22: Connection refused
- Port 80 is being used by SYSTEM (PID 4), what is that?
- channel 3: open failed: connect failed: Connection refused
- Getting “socket.error: [Errno 61] Connection refused” python paramiko
- How to specify the private SSH-key to use when executing shell command on Git?
- X Error of failed request: BadValue (integer parameter out of range for operation)