aws / aws/session-manager-plugin

Problem interpreting signals emitted by terminal on BSD systems properly

Open
#29 27 comments 8 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
320
Forks
97
PR merge metrics
No merged PRs in 30d

Description

NOTE: This issue's contents and title have been significantly changed as of Jan 15 because of some folks getting to the underlying issue.

The underlying issue is that when using a BSD-based system (like OS-X) this plugin sends some undesirable control signals. This appears to ONLY affect Macs, not Windows or Linux.

@pedros007 Believes this issue is related to [the ControlSignals handled by a ShellSession](https://github.com/aws/session-manager-plugin/blob/c523002ee02c8b68983ad05042ed52c44d867952/src/sessionmanagerplugin/session/shellsession/shellsession.go#L82-L96)

## Reproduce steps which seems to only happen on a MacOS terminal:

* Start a shell session `aws ssm start-session --target i-00112233445566778`
* Once connected, press Ctrl-y
* **Expected behavior**: paste from the kill-ring (which is empty, so nothing should happen)
* **Actual behavior**: The session terminates with the log line
```
Cannot perform start session: read /dev/stdin: resource temporarily unavailable
```

## The kludgy workaround currently is

* Run stty dsusp undef on your host.
* Start a shell session `aws ssm start-session --target i-00112233445566778`
* Press Ctrl-y to paste from the kill ring (which is empty, so nothing happens). This is what every other OS does, and what Linux normally does when you SSH.

For more details about this issue please see some of the comments towards the bottom of the thread/issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.