SSM Session Manager 는 OS 레벨의 SSH  접속 제어 설정에 영향이 있을까?

SSM Session Manager 는 OS 레벨의 SSH 접속 제어 설정에 영향이 있을까?

2025.09.30

시작하며

Session Manager를 사용하면 인바운드 포트를 열 필요 없이, IAM 권한만으로 안전하게 EC2 인스턴스에 대한 셸 접근을 관리하고 감사할 수 있습니다.

AWS 공식 도큐먼트 일부

인바운드 포트를 열 필요가 없고 Bastion Host 또는 SSH 키를 관리할 필요가 없음

Session Manager는 ssm-user라는 OS 사용자를 생성하여 세션을 시작하는 방식으로 동작합니다. 그렇다면 이 ssm-user의 셸 설정이나, 기존의 SSH 접속 제어 설정이 Session Manager 접속에 어떤 영향을 미칠까요?

이 글에서는 "특정 OS 설정을 변경해도 SSM 접속은 막히지 않을 것이다"라는 전제 하에 두 가지 ssh 접속제한 설정을 하고, 직접 검증을 통해 Session Manager의 동작 방식을 조금 더 깊이 이해해보고자 합니다.

  1. ssm-user의 기본 셸인 /sbin/nologin 파일을 이동시켜도 SSM 접속에는 영향은없다
  2. sshd_config 파일에서 AllowUsers 설정을 통해 SSH 접속을 막아도 SSM 접속에는 영향은없다

검증 1: /sbin/nologin 설정에도 불구하고 SSM 접속이 가능한가

Amazon Linux 에서는 별도의 설정없이 ssm-user는 이미 기본적으로 /sbin/nologin을 셸로 사용하고 있습니다. 그런데도 SSM Session Manager를 통한 접속이 정상적으로 이루어집니다.

이는 SSM Session Manager가 전통적인 셸 로그인 과정을 거치지 않고, 독립적인 세션 관리 메커니즘을 사용한다는 것을 의미합니다.

검증 과정

  1. 먼저 SSM Session Manager를 통해 인스턴스에 접속합니다.

  2. 접속 후 현재 사용자와 셸 정보를 확인합니다.

			
			    sh-5.2$ whoami
    ssm-user

    sh-5.2$ echo $0
    sh

		
  1. /etc/passwd 파일에서 ssm-user의 설정을 확인합니다.
			
			    sh-5.2$ sudo cat /etc/passwd | grep ssm-user
    ssm-user:x:1001:1001::/home/ssm-user:/sbin/nologin

		
  • AmazonLinux2023 기준으로ssm-user의 기본 셸은 /sbin/nologin으로 설정되어 있음
  • 그럼에도 불구하고 SSM Session Manager를 통한 접속은 정상적으로 이루어짐
  • 실제 세션에서는 sh 셸이 실행되고 있음

결론: ssm-user 를 /sbin/nologin 설정해도 Session Manger 문제없이 접속가능

검증 2: SSH 접속 제한(AllowUsers)이 SSM 접속에 미치는 영향

SSM Session Manager는 SSH 프로토콜과 무관하게 동작합니다. 따라서 sshd_config 파일에서 AllowUsers 지시어로 특정 사용자 외의 SSH 로그인을 막더라도, 이는 SSH 접속에만 영향을 줄 뿐 SSM 접속에는 아무런 영향을 미치지 않을 것입니다.

검증 과정

  1. 다시 정상적으로 SSM을 통해 인스턴스에 접속합니다.

  2. /etc/ssh/sshd_config 파일을 수정하여 ec2-user만 SSH 접속을 허용하도록 설정합니다. ssm-user는 일부러 추가하지 않습니다.

    			
    			sudo vi /etc/ssh/sshd_config
    # /etc/ssh/sshd_config 파일 맨 아래에 다음 줄 추가
    AllowUsers ec2-user
    
    		
  3. sshd 서비스를 재시작하여 변경사항을 적용합니다.

    			
    			sh-5.2$ sudo systemctl restart sshd
    
    		
  4. 기존 세션을 종료하고, 다시 인스턴스에 Session Manager로 접속을 시도합니다.

검증 결과

기존 생각대로, 아무런 문제 없이 정상적으로 접속됩니다.

결론: SSM Session manager 는 SSH 접속제한을 해도 영향이없습니다.

SSM Session Manager는 SSH 프로토콜(TCP 22번 포트)을 사용하지 않습니다. 인스턴스에 설치된 SSM Agent가 AWS API 엔드포인트와 암호화된 WebSocket 채널을 통해 직접 통신하는 방식입니다. 따라서 /etc/ssh/sshd_config 파일의 설정은 SSH 데몬을 통한 접속에만 영향을 미칠 뿐, Session Manager의 작동 방식과는 전혀 무관합니다.

마치며

이번 검증을 통해 SSM Session Manager의 두 가지 중요한 특징을 확인할 수 있었습니다.

  1. Session Manager는 ssh 로그인 과정을 우회합니다. ssm-user의 셸이 /sbin/nologin으로 설정되어 있어도 정상적으로 셸 세션을 제공할 수 있습니다. 이는 SSM Agent가 OS 수준에서 독립적인 세션 관리 메커니즘을 사용함을 보여줍니다.
  2. Session Manager는 ssh와 완전히 독립적입니다. ssh 설정을 비활성화하거나 접근을 제어하더라도 Session Manager 접속에는 아무런 영향을 주지 않습니다. 이는 SSH 포트를 외부에 노출할 필요가 없다는 Session Manager의 핵심적인 보안 이점을 다시 한번 확인시켜 줍니다.

SSM Session Manger 는 ssh 설정이나 OS 수준의 영향을 받지않는다고 생각했지만 실제 OS에서 ssm-user 에대한 제한을 적용시 정말로 문제없는지 테스트해서 안심이 되었습니다.

참고 자료

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイト をぜひご覧ください。

この記事をシェアする

FacebookHatena blogX

関連記事

SSM Session Manager 는 OS 레벨의 SSH 접속 제어 설정에 영향이 있을까? | DevelopersIO