마스터 서버 거부 세션 ​​요청: 권한이 거부되었습니다.

마스터 서버 거부 세션 ​​요청: 권한이 거부되었습니다.

SSH 멀티플렉싱을 설정하려고 하는데 오류가 발생하고 Google에서 검색해도 정확한 오류 메시지는 지금까지 0번만 발견되었습니다.

나는 ~/.ssh/config다음 콘텐츠로 만듭니다.

Host *
 ControlPath ~/.ssh/master-%r@%h:%p

그런 다음 다음 명령을 실행하여 기본 연결을 만들었습니다.

ssh -vMM [email protected]

이는 다중화 소켓을 성공적으로 생성한 것 같습니다.

...
Authenticated to host.example.com ([1.2.3.4]:22).
debug1: setting up multiplex master socket
debug1: channel 0: new [/home/user/.ssh/[email protected]:22]
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
...

그런 다음 다른 창에서 ssh를 통해 명령을 실행해 보았습니다.

ssh -v [email protected] ls

그러나 이는 다중화 소켓에서는 작동하지 않는 것 같습니다.

OpenSSH_7.5p1, OpenSSL 1.1.0f  25 May 2017
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
Master refused session request: Permission denied
debug1: Connecting to host.example.com [1.2.3.4] port 22.
...

Master refused session request: Permission denied오류가 발생하는 원인은 무엇입니까 ?


~/.ssh편집: 및에 대한 권한은 ~/.ssh/config각각 700과 644이므로 거기에는 문제가 없습니다. ~/.ssh/master-*존재하지 않습니다. 추상 UNIX 소켓인 것 같습니다(그래서 실제로 파일 시스템에 존재하지 않습니다). 그러나 이는 여전히 "액세스 거부" 오류를 설명하지 않습니다.

또한 두 번째 연결을 설정하려고 할 때 기본 연결이 인쇄되는 것을 확인했습니다.

debug1: channel 2: new [mux-control]
debug1: permanently_drop_suid: 0
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
debug1: channel 2: free: mux-control, nchannels 3

어쩌면 이것이 그것과 관련이 있을 수도 있습니다. 암호화되지 않은 SSH 키를 사용하여 연결하고 있으므로 SSH에서 비밀번호를 요청해야 하는 이유를 이해할 수 없습니다.

답변1

"액세스 거부" 오류의 원인을 알아냈습니다.

기본적으로 SSH는 다른 SSH 프로세스가 기존 멀티플렉스 세션을 사용하려고 할 때 대화형으로 권한을 요청하려는 것으로 보입니다. 그러나 ssh-askpass시스템에 권한을 요청하는 프로그램이 없기 때문에 SSH는 기본적으로 "아니요, 액세스 권한을 부여하지 않습니다"로 설정되어 클라이언트에 "액세스 거부" 오류 메시지가 표시됩니다.

설치된 경우 ssh-askpass(위치:x11-ssh-askpass패키지Arch Linux의 경우) 다음과 같은 대화 상자가 나타납니다.

확인을 선택하면 연결 시도가 계속됩니다.

프롬프트 자체는 -M명령줄에서 master를 두 번 지정했기 때문에 발생했습니다. 인용하자면 SSH(1):

여러 -M 옵션은 ssh를 "마스터" 모드로 설정하고 슬레이브 연결을 수락하기 전에 확인이 필요합니다.

관련 정보