I'm trying to setup proxy that connects via AWS Session Manager with ssh command (to be used by ansible). As of right now, I'm able to connect to my vm with AWS CLI command like so
aws ssm start-session --target i-XXXXXXXXXWith that in mind, I tried to setup ProxyCommand in my ssh config, the same that was recommended by AWS
host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p' --region eu-west-2"Now it gets weird, it appears as connection is opened but it just hangs there, not redirecting input to vm, not printing prompt.
$ ssh i-XXXXXXXXXXXX -vvvvvvvvv
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/foo/.ssh/config
debug1: /home/foo/.ssh/config line 1: Applying options for i-*
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Executing proxy command: exec sh -c "aws ssm start-session --target i-XXXXXXXXXXXX --document-name AWS-StartSSHSession --parameters 'portNumber=22' --region eu-west-2"
debug1: permanently_drop_suid: 1000
debug1: identity file /home/foo/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/foo/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: ssh_exchange_identification:
debug1: ssh_exchange_identification: Starting session with SessionId: botocore-session-1563202442-0d72a7be446ee1035
debug1: ssh_exchange_identification: \033[?1034hsh-4.2$
\033[Ksh-4.2$ SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: ssh_exchange_identification: sh: SSH-2.0-OpenSSH_7.6p1: command not found
debug1: ssh_exchange_identification: sh-4.2$Any ideas? I've tried the same config on linux and windows, updated OpenSSH to 8.x, nothing is working.
1 Answer
SSM plugin and agent version
- Ensure that version 1.1.23.0 or later of the Session Manager plugin is installed. See Manually Install SSM Agent on Amazon EC2 Linux Instances
- Ensure that SSM Agent version 2.3.672.0 or later is installed on the instance. See Manually Install SSM Agent on Amazon EC2 Linux Instances