클라우드 가상 머신에 Ubuntu 22.04를 새로 설치하려면 SSH를 통해 접속할 수 있습니다. 내 비밀번호 입력은
fish:x:1001:100::/home/fish:/bin/bash
및 /etc/group에는 다음이 포함됩니다.
users:x:100:
sudo:x:27:gsluser,fish
로그인하면 sh
대신에 그룹에 추가되어야 한다고 말했음에도 불구 bash
하고 자동으로 그룹에 추가되지 않습니다 . 을 입력 하면 다음 두 가지를 모두 얻습니다.sudo
groups
newgrp
sudo
$ groups
users
$ groups fish
fish @ users sudo
newgrp sudo
$ groups
sudo users
$
다양한 구성 파일과 bashrc 파일에서 이상한 점을 찾을 수 없으며 설치 이후 sshd.conf가 변경되지 않았습니다. 누구든지 이 동작을 설명할 수 있나요?
답변1
질문에 대한 설명에서 볼 수 있듯이 기존 공유 SSH 연결을 통해 원격 시스템에 연결하기 위해 SSH 연결 공유를 사용하고 있습니다.
SSH를 사용하여 공유에 연결하는 경우(문서 참조)-M
그리고-S
명령줄 옵션은 다음과 같습니다.ssh(1)
수동, 및 설명ControlMaster
그리고ControlPath
및 관련 구성 옵션ssh_config(5)
수동) 원격 쉘은 단일 원격 세션에서 생성됩니다. 보조 그룹 및 기타 속성은 이 단일 원격 세션이 생성될 때 설정되며 동일한 공유 SSH 연결을 통해 추가 연결이 이루어질 때마다 그대로 유지되고 복제됩니다.
이것이 바로 로그아웃했다가 다시 로그인할 때 새 보조 그룹(및 로그인 셸)이 적용되지 않는 이유입니다.
해결책은 공유 SSH 연결을 사용하지 않고 연결하는 것입니다.
ssh -S none remotehost
...또는 연결을 강제로 종료하여
ssh -O exit remotehost
...그런 다음 원격 호스트에 대한 새 연결을 설정합니다.