질문:
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 프롬프트가 표시됩니다.
내가 시도하는 것이 가능합니까, 아니면 더 좋은 방법이 있습니까?