Duo MFA를 사용하여 sudo 액세스를 위한 SSH 로그인을 자동화하는 방법

Duo MFA를 사용하여 sudo 액세스를 위한 SSH 로그인을 자동화하는 방법

질문:

MFA 액세스가 필요한 Linux(ubuntu) 서버를 원격으로 구성하기 위해 Mac에서 Ansible을 실행하려고 합니다 sudo. 내 목표는 보안 팀의 요구에 따라 MFA를 그대로 유지하면서 MFA 프로세스가 인증된 후에 Ansible을 사용할 수 있도록 하는 것입니다. SSH에서 ControlFile을 사용하여 이 작업을 수행하는 방법을 설명하는 관련 쿼리를 찾았습니다.https://stackoverflow.com/a/64671608/1910490

설명하자면, sudo를 수동으로 사용하는 프로세스는 (현재) 다음과 같습니다.

# login using ssh key
> ssh server_name 
# run sudo
> sudo su

$ sudo su
Duo two-factor login for <username>

Enter a passcode or select one of the following options:

 1. SMS passcodes to XXX-XXX-<number>

Passcode or option (1-1):

> 1

New SMS passcodes sent.

Duo two-factor login for <user>

Enter a passcode or select one of the following options:

 1. SMS passcodes to XXX-XXX-<number> (next code starts with: 1)

> <code>


Success. Logging you in...

이 시점에서 세션에는 sudo 액세스 권한이 있습니다.

내가 시도한 것

나는 사용해 보았습니다.공유 제어 파일SSH를 사용하면 한 세션이 sudo MFA 프로세스를 완료한 다른 세션에 액세스할 수 있습니다. 이론적으로 이를 통해 sudo 액세스 권한이 있는 다른 터미널에서 Ansible을 실행하고 전체 MFA 문제를 피할 수 있습니다.

저는 .ssh/config다음과 같이 구성했습니다.

Host *
        ControlMaster auto
        ControlPath ~/.ssh/shared.%h.pipe
        ControlPersist 10m

세션을 연 후 실제로 제어 파일이 생성되었으며 공유 연결이 사용되고 있다고 생각됩니다.

하지만 다른 터미널에서 sudo를 사용하려고 하면 여전히 sudo MFA 프롬프트가 표시됩니다.

내가 시도하는 것이 가능합니까, 아니면 더 좋은 방법이 있습니까?

관련 정보