Skip to content
View in the app

A better way to browse. Learn more.

Thailand News and Discussion Forum | ASEANNOW

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ssh Connection Drops

Featured Replies

I use SSH daily to a remote Linux server. The bad internet recently makes my SSH connection to drop, and I have to reconnect and login again. All manually as there is no re-login script provided.

Any ideas what I can do?

I am using Putty in Windows 7, but ask here in the Linux forum.

Set keepalive on, usually if you don't do anything for a minute orso the connection drops because the intermediate (NATing) routers forget about your connection.

In Putty:

Load your session,

on the left hand side, click on 'connection'

check: enable TCP keepalives

put 30 in seconds between keepalives

Save your session.

Also, putty can auto-logon, but you have to generate a keypair with puttygen.exe (seperate download) and put the public one on the server in your home directory (/home/{user}/.ssh/authorized_keys file)

Good luck,

JD

What is it about the disconnect which annoys you? If its losing what you were doing- simply include a new hop in the route- so ssh to one server, then use that server to ssh to the one you're working. This will allow things to continue even if your own connection drops. Additionally you can usee && at the end of your commands, to allow things to run in the background. SSH is typically very hard to drop so your connection must be really suffering. If your connection doesnt drop entirely but your ssh keeps dropping, you might want to try a different port.

also use 'screen' (man screen), basically saves your terminal session in between connects. just type 'screen' in linux the first time you connect, then when you get disconnected, next time 'screen -r' restores the screen from where you left.

Commands that were running don't get interrupted by your disconnect.

You can use ctrl-a, d to manually detach if you want.

more options in 'man screen'

use it, you'll love it.

Use screen like the other poster said. It's the guru shell way to keep your processes from being SIG TERM'd or SIG KILL'd when your ssh session drops.

Another neat way is nohup <process> &

this gives you a log of the program output in a file called noup.out and as the same suggests, it will ignore SIG HUP/TERM (but not KILL I think). 'man kill' 'man nohup'

ssh is TCP so isn't going to drop unless something ratshit is happening en-route. Oh, you're in Thailand right?

NAT mappings don't die unless the NAT router is likewise RS

Ignorant engineers (you are in Thailand right?) tend to demonstrate their lack of skill by messing around too much with things that should be set-and-forget. That's about the only cause I can think of for TCP sessions dropping (lost-in-trasit IP packets due to twonks fiddlefarting with BGP route anouncements being a case in point).

PS 'keepalive' just tells the other ssh process to, if it is configured to allow it, *drop the ssh connection* if keep-alives are not 'seen' at the regular interval. The purpose of a keep-alive is to stop you from being locked out of 'something' due to 'something' thinking you're still logged in (a 'bogus session')

Folks often take this term on face value thinking it will magically 'keep things alive'. It doesn't (but you can waste a tonne of valuable debug time thinking it does).

PS 'keepalive' just tells the other ssh process to, if it is configured to allow it, *drop the ssh connection* if keep-alives are not 'seen' at the regular interval. The purpose of a keep-alive is to stop you from being locked out of 'something' due to 'something' thinking you're still logged in (a 'bogus session')

While this is obviously true, keepalive does doe one more thing, which is important in this context: when you are idle for a while it does send the occasional query packet.

Here our great network engineers have blessed us with private routing nets and cheap NATing routers all over the place. These things tend to be starved for memory, and can't cope with the thousands of connections running through them, so after a while they tend to 'forget' (actually make room for new connections) old 'inactive' connections.

Doesn't matter, because the 'interweb' only uses short-term connections anyways, right...

So by sending these keepalive packets starved or just misconfigured NATing routers tend not to forget your session so quickly. I have had a lot of success by using this option, while other people report lots of success by switching it off... :)

*J*

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.