로그인 후 SSH가 자동으로 연결 끊김


1

Windows 10에서 OpenSSH를 사용하여 ssh 서버를 설정하려고합니다. 내 컴퓨터 중 하나에서 서버를 설정하고 동일한 시스템에서 성공적으로 로그인 할 수있었습니다.

다른 컴퓨터에서는 유사한 Windows 10 시스템에서 동일한 기본 설정을 사용하고 있지만 SSH 세션이 즉시 종료되는 것으로 보입니다.

명령 프롬프트에서 다음과 같이 로그인하면 ssh -vvv localhost, 암호 입력 후 표시되는 정보는 다음과 같습니다.

debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (password).
Authenticated to localhost ([::1]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug3: receive packet: type 91
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IPV6_TCLASS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug3: receive packet: type 96
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug3: receive packet: type 97
debug2: channel 0: rcvd close
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug3: send packet: type 97
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
  #0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cc -1)

debug3: send packet: type 1
Connection to localhost closed.
Transferred: sent 2168, received 4052 bytes, in 0.9 seconds
Bytes per second: sent 2501.0, received 4674.3
debug1: Exit status 255

다음은 sshd_config 설정입니다.

#   $OpenBSD: sshd_config,v 1.98 2016/02/17 05:29:04 djm Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/bin:/usr/sbin:/sbin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# The default requires explicit activation of protocol 1
# Protocol 2

# HostKey for protocol version 1
#HostKey /etc/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh_host_rsa_key
#HostKey /etc/ssh_host_dsa_key
#HostKey /etc/ssh_host_ecdsa_key
#HostKey /etc/ssh_host_ed25519_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Ciphers and keying
#RekeyLimit default none

# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
LogLevel DEBUG3

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

RSAAuthentication yes
#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
#AuthorizedKeysFile .ssh/authorized_keys

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
IgnoreUserKnownHosts yes
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCreds yes

# 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 no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# default banner path
Banner /etc/banner.txt

# override default of no subsystems
Subsystem   sftp    /usr/sbin/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#   X11Forwarding no
#   AllowTcpForwarding no
#   PermitTTY no
#   ForceCommand cvs server

나는 몇 개의 게시물을 보았다. 로깅을 켜는 것을 제안합니다. 자세한 정보를 얻으려면. 그러나, 나는 이것을 달성하는 방법을 알아낼 수 없습니다. 나타나는 로그 파일이 없습니다. C:\Program Files\OpenSSH\var\log 어떤 정보가 있고, 로그가 어디에 있는지, 또는 로그를 사용할 수있는 방법을 알 수 없습니다.

내 문제를 해결하는 방법이나 적어도 로깅을 가능하게하는 방법에 대한 제안이 있으면 알려주십시오. 감사!


이것은 ssh 데몬과 함께 제공되는 기본 구성입니까? 어떤 명령을 클라이언트에서 사용하고 있습니까?
stueja

그것은 다른 사용자에게 작동합니까? 서버 로그에서 무엇을 볼 수 있습니까? 무엇에 있니? ~/.bashrc 또는 다른 시작 파일?
Jakuje

이러한 질문에 대답하는 방법을 모르지만 : 1) 위에서 언급 한 것처럼 "ssh -vvv localhost"를 입력하여 ssh를 시작합니다. 어쩌면 당신이 다른 것을 의미하는지 확실하지 않습니다. 2) 기본적으로 기본값입니다. 몇 가지 항목에서 더 높은 로깅 수준을 사용하려고 시도했지만 기본 설정에는 동일한 문제가 있습니다. 3) 필자는이 컨텍스트에서 "사용자"를 구성하는 것이 약간 퍼지지만 Windows가 이름에 로그온한다는 것을 가정합니다. 이 컴퓨터에는 한 명의 사용자 만 있습니다. 4) 서버 로그 또는 시작 파일을 찾을 수 없습니다. 어디에서 찾을 수 있습니까? 위와 같이 내가 찾은 로그는 비어 있습니다.
wmf123

답변:


0

"인증 성공"메시지가 주어지면 SSH 서버가 사용자를 확실하게 식별 할 수 있다는 것을 알기 때문에 문제가 다소 좁혀집니다.

그 시점 이후에 쉘을 설정하려 할 것이고, 그것이 실패 할 것이다 (나는 생각한다).

매우 광범위한 문제로서 SSH 서비스와 관련된 문제 외의 다른 가능성을 살펴볼 것입니다. 본질적으로 .

이것은 많은 일이 될 수 있지만 몇 가지 아이디어가 있습니다 :

  1. 사용자 (또는 모든 사용자)가 원격 세션을 만들 수 없도록하는 사용자 또는 시스템 수준 보안 설정입니다. 즉, 사용자가 올바른 암호를 가지고 있더라도 시스템이 암호를 입력하지 못하게하려면 중요하지 않습니다.

  2. 사용자 초기화 스크립트의 일부 오류. Windows에서 이것이 어떻게 작동하는지 모르지만 Linux에서는 로그인시 즉시 호출되는 특수한 파일이 사용자의 홈 디렉토리 (쉘에 따라 다름)에 있습니다. 그들 중 하나가 쉘을 닫는 명령을 가지고 있다면, 오류를 표시하지 않고 사용자가 로그인하는 것을 막는 효과가 있습니다.

문제를 줄이기위한 한 가지 아이디어는 대상 컴퓨터에 로그인 한 다음 해당 계정으로 localhost에 ssh'ing을 시도하는 것입니다. 작동한다면 원격 상자에서 연결하는 것과 관련이 있다고 추측 할 수 있습니다.

불행히도, 당신이 인터넷 검색에서 볼 수 있듯이, 거기에 여러 가지 가능한 문제가 있습니다. 그래서 위의 내용이 표시되지 않을 수도 있습니다 ...


의견에 감사드립니다. 나는 물건을 여기에서 이용할 수있는 꾸러미와 함께 일하게하려고 노력하고 있었다. mls-software.com/opensshd.html
wmf123

나는 결국 포기하고 Cygwin으로 설치를 시도했다. 그게 효과가있는 것 같습니다.
wmf123
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.