Authenticated but can't login to FreeBSD 10.2 OpenSSH_6.6.1p1

Advertisement

swapjim
Joined:
Posts:
8

Authenticated but can't login to FreeBSD 10.2 OpenSSH_6.6.1p1

I can't login via scp into my FreeBSD 10.2 server using a key. I get these messages:
Searching for host...
Connecting to host...
Authenticating...
Using username "johnsmith".
Authenticating with public key "imported-openssh-key".
Authenticated.
Starting the session...
And this is where the process stops.

"Optimize connection buffer size" is disabled in Advanced Site Settings > Connection.

Doing a sshd -v in FreeBSD gives me:
OpenSSH_6.6.1p1, OpenSSL 1.0.1p-freebsd 9 Jul 2015
What am I missing here?

Oh, here is my WinSCP log (complete log is attached):
. 2015-08-19 05:59:24.578 Asking user:
. 2015-08-19 05:59:24.578 **Host is not communicating for 15 seconds.
. 2015-08-19 05:59:24.578 
. 2015-08-19 05:59:24.578 Wait for another 15 seconds?** ()
. 2015-08-19 05:59:26.468 Attempt to close connection due to fatal exception:
* 2015-08-19 05:59:26.468 **Terminated by user.**
. 2015-08-19 05:59:26.468 Closing connection.
. 2015-08-19 05:59:26.468 Sending special code: 12
. 2015-08-19 05:59:26.468 Sent EOF message
. 2015-08-19 05:59:26.468 Selecting events 0 for socket 824
* 2015-08-19 05:59:26.531 (EFatal) **Terminated by user.** 

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
40,866
Location:
Prague, Czechia

Can you try to connect with PuTTY with Connection > SSH > TTY > Don't allocate a pseudo-terminal turned on?
Then try to type echo $LANG and let me know what the output is.
Then repeat the same with printenv LANG

Reply with quote

swapjim
Joined:
Posts:
8

In PuTTY, I can't login if I turn on 'Don't allocate a pseudo-terminal'.

Here is LANG:
user@freebsd:~$ echo $LANG
LANG: Undefined variable.
user@freebsd:~$ printenv LANG
user@freebsd:~$
However, somehow the problem got solved! I created a new session and although I've already done that a couple of times, this time I managed to login with WinSCP.

What do you think was causing this?

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
40,866
Location:
Prague, Czechia

swapjim wrote:

In PuTTY, I can't login if I turn on 'Don't allocate a pseudo-terminal'.
What happens exactly?

Here is LANG:
user@freebsd:~$ echo $LANG
LANG: Undefined variable.
user@freebsd:~$ printenv LANG
user@freebsd:~$
Thanks. Can you try also
echo $LANG ; echo blah
and
printenv LANG ; echo blah

Reply with quote

Advertisement

swapjim
Joined:
Posts:
8

Wait, my mistake. When I enabled 'Don't allocate a pseudo-terminal', I couldn't login. PuTTY became unresponsive and I got this message:
Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.
Image is attached.

The output that I told you it gave me was when I logged in normally, with 'Don't allocate a pseudo-terminal' disabled.

Edit: I just noticed that by setting LANG on ~/.csh (csh is my default shell), I can login normally:
setenv LANG     en_US.UTF-8
For now it seems to work. Is this what you though caused the problem?

i.imgur.com.whMWj8L.png

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
40,866
Location:
Prague, Czechia

swapjim wrote:

I just noticed that by setting LANG on ~/.csh (csh is my default shell), I can login normally:
setenv LANG     en_US.UTF-8
For now it seems to work. Is this what you though caused the problem?
Yes, that's the culprit.
But as it seems like a default behavior in FreeBSD, I want to make WinSCP be able to handle it.

So can you please try
echo $LANG ; echo blah
and
printenv LANG ; echo blah

Reply with quote

swapjim
Joined:
Posts:
8

The output is from PuTTY Portable 0.63-t022.

With $LANG set in csh:
user@freebsd:~$ echo $LANG ; echo blah
en_US.UTF-8
blah
user@freebsd:~$ printenv LANG ; echo blah
en_US.UTF-8
blah
Without $LANG set in csh:
user@freebsd:~$ echo $LANG ; echo blah
LANG: Undefined variable.
user@freebsd:~$ printenv LANG ; echo blah
blah

It seems that with printenv, you get the blah but not with echo.

Without $LANG set in sh (that's /bin/sh, the default shell):
$ echo $LANG ; echo blah

blah
$ printenv LANG ; echo blah
blah

Strangely, with sh as the default shell, I don't need to have $LANG defined to login!

Reply with quote

Advertisement

You can post new topics in this forum