Using the ssh command to connect to a remote computer is a very good way to access your home machine when you are at college or at work. But sometimes you are behind an academic proxy and this blocks your ssh access. I had that problem and I used putty to connect to my home machine on port 443 and the problem went away. This is a very good idea. Putty has the ability to enter the proxy details and connect to your remote machine on port 443. Setting up ssh this way allows you to connect to a remote machine and avoid the blocked port 22. Connecting over a 10 megabits per second link using bash is not too bad at all. I can use Midnight Commander to navigate the filesystem and move or delete files. This is the advantage Windows has over Linux. Sure, Windows has RDP, but I prefer the ssh connection as I can use the command line. I wonder when Windows will allow such a remote connection, Powershell would be very useful if it enabled a remote connection to be made to another Windows machine using the Powershell command line. You can shut down another machine assuming you have administrative access using the Stop-Computer command. But this is not the same as using the remote shell on another Windows machine with Powershell. There is one feature that allows executing commands on a remote Powershell session, but again, this is not the same as an SSH session. Maybe in the future this will be a possibility. I am sure a Windows administrator reading this will be able to correct me and suggest a solution, I am always getting feedback whenever I write about Powershell. I do not find it as easy to use as bash, csh, or zsh. But in the Powershell 4.0 release there are more features like Get-FileHash that will get the SHA256 hash of a file. That is one very useful cmdlet.
Here is my
/etc/ssh/sshd_config file. Here you can see how I setup my ssh server to allow me to connect over port 443.
# Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 443 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding no X11DisplayOffset 10 PrintMotd yes PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes
This is very easy and allows me to access my home machine from a remote location. In Putty, set the machine IP and port and the proxy details and you should be good to go. I did not have to set up ssh tunneling at all, I just connected and it worked. I just wish there was a way to monitor your Firefox downloads when you are logged in via ssh. That would be awesome. I am downloading a copy of the infamous PC game Big Rigs, the worst game ever released. I just want to see for myself how bad this atrocious game is.