IT HOW

무엇이는 물어보세요

컨텐츠로 건너뛰기
  • 프로그래밍
  • 파이썬
  • 자바
  • 자바스크립트
  • 리눅스
  • c#

이상한 SSH 문제, ssh는 -t와 함께 작동하지만 그것 없이는 멈 춥니 다. 전에 ( message debug2: shell request accepted

내가 언제 ssh내 서버 중 하나에, 그것은 로그인 보인다, 그러나 정지 나에게 메시지를주기 전에 ( message debug2: shell request accepted on channel 0 is the last log entry).

이상한 것은 그렇지 않은 ssh -t "/bin/bash"경우 작동합니다 ssh.

내가 지금까지 알아 낸 것

  • 같은 지리적 위치에있는 서버에서 정상적으로 로그인 할 수 있습니다
  • I 인 경우 ssh -t '/bin/bash'-모든 위치에서 완벽하게 로그인 할 수 있습니다.
  • 서버를 사용 rsync 하면 작동하는 것 같습니다.
  • 서버 rsync 에서 사용하면 문제없이 작동합니다.

내가 시도한 것

  • 제거하거나 모든 로그인 옵션을 변경 .profile,.bashrc /etc/profile
  • 제대로 작동하는 동일한 서버에서 ssh_config 및 / 또는 sshd_config 다른 서버로 변경
  • 라우팅을 확인했습니다
  • 네트워크 전문가 tcpdump가 아무 소용이 없는지 조사 했습니다 (재전송이 많지만)

나는 정말로 다른 것을 생각할 수 없다

닷지 네트워크 카드 드라이버 / 펌웨어 외에.



답변

프로필에 문제가있을 수 있습니다.
당신이 연결할 때 ssh -t /bin/bash 쉘하지 않습니다 ‘로그인’, 그것은 소스하지 /etc/profile않으며 ~/.profile및 ~/.bashrc…

따라서 연결 후 셸을 디버그 모드로 설정하고 각 파일을 소싱하여 내부에서 차단되는 내용을 찾으십시오.

set -x
. /etc/profile
...and so on

편집하다

내가 틀렸다는 점에 유의하십시오 .bashrc 파일은 대화 형 쉘에서 소스로 제공됩니다 (따라서 profile.d 파일 만 중요합니다).

연결 프로세스의 여러 단계 목록을 작성하십시오. 이 같은

1) SSH 연결 (config, …)
2) 로그인 (PAM, tty, wtmp 등 …)
3) 셸 시작 (프로필, 홈 디렉토리 액세스, …)

(1)을 확인하려면 디버그 모드에서 sshd 데몬을 시작할 수 있습니다. 이를 위해 전용 포트를 청취하면서 다른 sshd를 시작해야합니다 (포트 22가 아니므로 일반 sshd 데몬을 중지 할 필요가 없습니다).

# /usr/sbin/sshd -p 2222 -ddd 

그 sshd는 하나의 연결 만 허용하고 백그라운드로 들어 가지 않습니다. 다른 터미널을 열고 해당 ssh 세션에 연결하십시오.

# ssh -vvv -p 2222 user@host

동일한 브랜드의 다른 서버 중 하나와받는 메시지를 비교할 수 있습니다. 그러면 문제가 ssh 측에 있는지 여부를 알 수 있습니다.

(-ddd 및 -vvv는 최대 디버그 수준이므로 조정할 수 있습니다)

나는 가지고 링크 , 훨씬 더 자세히 설명합니다.


답변

내 문제에 대한 답
그것은 네트워킹 문제였습니다. 결국 모든 네트워크 카드의 MTU를 약간 떨어 뜨림으로써 문제가 사라 졌다는 것을 알았습니다.

아마도 해당 네트워크에 대해 잘못 구성되었을 가능성이 있지만 이제는이를 증명하고 네트워크 팀 (서버 문제라고 계속 알려주는 네트워크 팀)에게 전달할 수 있습니다.

그러나 이것이 최후의 수단
이라는 점을 명심하십시오. ssh 서버는 동일한 서브넷에서 작동했지만 외부에서는 작동하지 않았으며 ssh -t ‘/ bin / bash’는 어디에서나 작동했습니다.

또한 rsync가 제대로 시작되었지만 어느 시점에서 중단되거나 연결이 끊어졌습니다.

따라서이 답변을보고 있다면 위의 다른 방법을 먼저 시도하고 내 것과 같은 이상한 점이있는 경우에만 도움이 될 것입니다.

모든 도움을 주셔서 감사합니다. 나는 모든 것을 시험해 보았고로드를 가르치고 서버와 아무런 관련이 없음을 확인하도록했습니다 (바람직한 모든 것).

도와 주신 모든 분께 감사드립니다


답변

당신이 할 때 ssh some_user@some_host /bin/bash, 당신이하고있는 일은 시작됩니다 some_user을 (에 정의 된대로의 쉘 /etc/passwd에 some_host )하고, 주어진 명령을 실행 /bin/bash하는 쉘 내에서.

지금, some_user 의 쉘 ( 이것도 가정합니다 bash)이 대화 형으로 시작되지 않습니다 (대신 주어진 명령을 실행하고 있습니다). 따라서 pty ( 의사 터미널을 할당하지 않습니다. )를 발행 된 명령에 사용할 pty가 없으므로 대화식으로 시작하지 않습니다.

이 예에서는 요청 된 /bin/bash명령이 시작되었지만 중단 된 것으로 나타납니다.

물어 보면이 문제를 해결할 수 있습니다 ssh어쨌든 pty를 작성하여 쉘 및 해당 하위 프로세스에 사용할 수 있도록 pty를 작성 . 이것이하는 일 -t입니다.

    $ ssh -t some_user@some_host bash

pty를 작성하도록 명령을 강제 실행하여이 문제를 해결할 수도 있습니다. 에 대한bash-i 인수 를 전달하여이 작업을 수행합니다 . 다음 명령 줄도 작동해야합니다.

$ ssh some_user@some_host bash -i

그러나이 경우에는 쉘이 액세스 할 수 없습니다. /dev/tty 경고가 발생합니다.

bash: no job control in this shell

이에 대한 이유는 설명되어 있습니다 여기 있습니다 . 쉘에서 수행하려는 작업에 따라 문제가 될 수도 있고 아닐 수도 있지만 사용 ssh -t하는 것이 더 나은 옵션 일 수 있습니다.

( bash어쨌든 사용자의 기본 쉘 경로에 있어야하기 때문에 명령으로 전달할 수 있습니다 )


답변

최근에 중첩 가상화 플랫폼을 사용할 때도 같은 문제가 있습니다.

원본 또는 대상 서버에서 MTU를 1500에서 1400으로 줄인 후에 작동합니다.

/sbin/ip link set dev eth0 mtu 1400

답변


이 글은 리눅스 카테고리에 분류되었고 login, shell, ssh 태그가 있으며 [호호] 야야님에 의해 2022년 1월 27일에 작성되었습니다.

글 네비게이션

← Chrome에서 사용자 계정 사진 변경 아웃해야하며 Gmail에 로그인하면 맞춤 이미지를 루트의 의미 : 휠 : wheel은 무엇을 의미합니까? →

태그

  • android
  • apt
  • backup
  • bash
  • boot
  • c#
  • c++
  • command-line
  • css
  • debian
  • email
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • ios
  • iphone
  • java
  • javascript
  • keyboard
  • linux
  • mac
  • macbook
  • macos
  • microsoft-excel
  • mysql
  • networking
  • performance
  • php
  • python
  • security
  • shell
  • ssh
  • terminal
  • ubuntu
  • unix
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • wireless-networking

최신 글

  • 디스크 정리에 많은 시간과 CPU가 필요한 이유는 무엇입니까? 많은 시간을 소비하는 것 같습니다. 파일을
  • Vim에서 일반 모드와 삽입 모드 사이에서 커서를 어떻게 변경합니까? 모양 등)를 변경하는 방법을 알고
  • 집계 대 구성 무엇인지 이해하지만 집계가 무엇인지에 대한 명확한
  • Python 생성기 패턴에 해당하는 C ++
  • 소프트웨어 일반인의 경력 경로는 무엇입니까? [닫은] 전문에 대한 질문 이 질문에 영감을. 소프트웨어 전문가가

카테고리

  • c#
  • c++
  • git
  • html
  • 리눅스
  • 서버
  • 소프트웨어
  • 슈퍼유저
  • 안드로이드
  • 애플
  • 우분투
  • 자바
  • 자바스크립트
  • 파이썬
  • 프로그래밍
apthow.com powered by hoya
Exit mobile version