服务器 AMI 镜像不允许用户多次登录。

当我登录到一个新的为Amazon EC2构建的Ubuntu服务器实例时,两个窗口将完全相同。我在其中一个窗口中输入的任何内容都会复制到另一个窗口中。
当我自己构建镜像时,我从未遇到过这种情况。有人知道这是怎么回事吗?通常我喜欢打开几个putty窗口并登录到我的服务器终端。
3个回答

很不幸,预发布的Oneiric AMIs会自动在终端上运行screen命令从而导致所有的ssh会话共享一个屏幕。你可以学习如何使用screen来解除终端的关联,或者...
你可以通过输入以下命令来禁用特定实例上的这个功能:
byobu-disable

这将使您退出登录。下一次的ssh将正常工作。

希望,在Oneiric发布时不会包含这种行为,但我们离那个日期越来越近。

注意:此帖包含表达我个人观点的陈述。其他人有不同的观点。


如Eric所说,你可以在主机上禁用byobu:
 $ byobu-disable

一旦登录到SSH中,您可以断开当前会话,但保持本地shell。
您可以使用SSH登录,并运行bash而不是byobu。
 $ ssh -t <hostname> bash

同时,您还可以将此更改永久化,并影响到所有连接至Ubuntu/Byobu主机(其中Byobu版本大于4.0)的SSH会话,方法是在本地的~/.bashrc文件中设置LC_BYOBU=0。
 $ echo "export LC_BYOBU=0" >> ~/.bashrc
 $ . ~/.bashrc
 $ ssh <hostname>

如果您正在使用PuTTY,可以通过在“连接”->“SSH”下将“远程命令”值设置为“bash”来复制“ssh -t <hostname> bash”的行为。 - Kevin Pullin

当您在EC2中启动实例时,您可以选择提供“用户数据”,该数据在实例首次启动(以及之后)可用。Ubuntu使用名为cloud-init的程序来消耗用户数据,这个程序非常强大。
您可以通过使用cloud-init的用户友好的云配置功能来禁用byobu。
要禁用byobu,您只需要提供以下两行用户数据:
#cloud-config
byobu_by_default: disable

有关cloud-init的完整详细信息,请点击这里:https://help.ubuntu.com/community/CloudInit 包括所有其他令人惊奇的功能的cloud-config语法,请点击这里: http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/doc/examples/cloud-config.txt