Based on the telnet configuration (they both have similar
capabilities) I wrote this one:
- (add-to-list 'tramp-methods
- '("ssm"
- (tramp-login-program "aws-gate")
- (tramp-login-args (("session")("%h") ("2>/dev/null")))
- (tramp-remote-shell "/bin/sh")
- (tramp-remote-shell-login ("-l"))
- (tramp-remote-shell-args ("-c"))))
#+begin_src elisp :eval never :tangle no
+ (require 'tramp)
+ (eval-after-load "tramp"
+ '(progn
+ (add-to-list 'tramp-methods
+ '("ssm"
+ (tramp-login-program "ec2-connect")
+ (tramp-login-args (("--name")("%h") ("2>/dev/null")))
+ (tramp-remote-shell "/bin/sh")
+ (tramp-remote-shell-login ("-l"))
+ (tramp-remote-shell-args ("-c"))))
+ (tramp-set-completion-function "ssm" tramp-completion-function-alist-ssh)))
+
#+end_src
Now we can again do strange, dark org-babel magic like: