배경:

배경:

배경:

나는현지의실행해야 하는 스크립트장소 상에서SSH 연결을 만들기 위한 전제 조건입니다.

스크립트는 이미 작동 중이지만 현재 사용자는 스크립트를 실행한 다음 SSH 연결을 설정해야 합니다(2단계).한 단계씩 이루어지길 바라요.

사용자 관점에서 실행되는 예제 스크립트는 다음과 같습니다.

$ /scripts/generate-mfa-auth.sh
MFA Code: 12345
Configuring authorized_keys...
Success. You can now connect over ssh.

$ ssh [email protected]

목표/문제:

이 스크립트가 SSH 구성에서 트리거될 때 사용자 입력을 허용하길 원합니다.

예를 들어 아래 ssh 구성은 스크립트를 올바르게 실행하지만사용자가 상호 작용하는 것을 허용하지 않습니다사용자에게는 스크립트의 표준 출력이 표시되지 않습니다.

Match host bastion* exec "/scripts/generate-mfa-auth.sh"

Host bastion1.local.example.com
 IdentityFile ~/.ssh/my-bastion-ssh-key

Host *local.example.com !bastion1.local.example.com
 IdentityFile ~/.ssh/my-target-ssh-key
 ProxyCommand ssh [email protected] -W %h:%p

질문:

이 스크립트를 작동시킬 수 있는 방법이 있나요?대화식으로SSH 구성에서 호출할 때?

답변1

SSH 구성을 사용하여 이 작업을 수행하는 방법을 모르지만 상당히 일반적인 솔루션은 이전에 PATH. 예를 들어

install -m 0755 -o root -g root /dev/null /usr/local/bin/ssh
cat <<EOF > /usr/local/bin/ssh
#!/usr/bin/env bash

read -p "mfa prompt: " my_input
echo $my_input
/usr/bin/ssh "$@"
EOF

다른 일반적인 제안에는 동일한 작업을 수행하는 별칭이나 함수를 만드는 것이 포함됩니다.

연결

관련 정보