我们公司中的一些人在生产服务器上拥有 root 访问权限。我们正在寻找一种很好的方法来在我们使用 ssh 时让它变得非常清楚。
我们的一些想法是:
你们使用哪些技术来区分生产系统?
Ken*_*ert 137
红色提示是个好主意,我也用过。
另一个技巧是在/etc/motd文件中放置一个大的 ASCII 艺术警告。
当您登录时,像这样的内容会引起您的注意:
_______ _ _ _____ _____ _____ _____ |__ __| | | |_ _|/ ____| |_ _|/ ____| /\ | | | |__| | | | | (___ | | | (___ / \ | | | __ | | | \___ \ | | \___ \ / /\ \ | | | | | |_| |_ ____) | _| |_ ____) | / ____ \ |_| |_| |_|_____|_____/ |_____|_____/ /_/ \_\ _____ _____ ____ _____ _ _ _____ _______ _____ ____ _ _ | __ \| __ \ / __ \| __ \| | | |/ ____|__ __|_ _/ __ \| \ | | | |__) | |__) | | | | | | | | | | | | | | || | | | \| | | ___/| _ /| | | | | | | | | | | | | | || | | | . ` | | | | | \ \| |__| | |__| | |__| | |____ | | _| || |__| | |\ | |_| |_| \_\\____/|_____/ \____/ \_____| |_| |_____\____/|_| \_| __ __ _____ _ _ _____ _ _ ______ | \/ | /\ / ____| | | |_ _| \ | | ____| | \ / | / \ | | | |__| | | | | \| | |__ | |\/| | / /\ \| | | __ | | | | . ` | __| | | | |/ ____ \ |____| | | |_| |_| |\ | |____ |_| |_/_/ \_\_____|_| |_|_____|_| \_|______|
您可以在本网站上生成这样的警告,也可以使用该figlet
命令。

就像 Nicholas Smith 在评论中建议的那样,您可以使用该cowsay命令为一些龙或其他动物增添趣味。

除了使用 /etc/motd 文件,您还可以在文件中调用cowsay或。figlet.profile
sys*_*138 50
我使用过的最大的一个是离散命名方案,其中生产系统的命名与测试/开发实例明显不同。这使得“用户名@主机名:”风格提示明显不同。很明显,我的意思不仅仅是不同的词,还有不同的格式:
示例:PRD-WEB001 与 DEVEL-BOB-WEB001
这有几件事情要做:
最重要的是,它不需要用于生产的特殊终端配置,只是为了避免 Oops 错误。
根据我的经验,你想要一些能够不断提醒你所处位置的东西。像谜语这样的登录方法可以持续大约 10 秒钟,直到您忘记哪个窗口是哪个。所需要的只是ls在错误的目录中执行操作以将不祥的登录横幅滚动到视图之外,将终端窗口隐藏在浏览器窗口下,同时谷歌搜索某些内容,alt-tab 返回错误的窗口,然后就会发生混乱。最好有一些恒定的视觉提示,比如明显不同的命令提示符。
Tim*_*Tim 42
您需要记住的一件事是,这需要是一个持久的提醒,而不仅仅是登录时的指示器。很多时候,有人会在不同的选项卡中同时运行多个 shell 并在它们之间移动。有些是开发的,有些是生产的。所以当你运行一个命令时,你需要在那个点有一个指示器。因此,根据我的经验,有一个特殊提示是最好的方法,修改后的标题/标签栏是一个很好的补充,可以轻松找到正确的窗口/标签。
因此,我建议使用彩色提示(红色是显而易见的选择)和主机名的所有大写字母,并为用户提供类似的行为(特权与非特权)作为您的提示。一些例子:

通常类似
set prompt = "%{\033[1;44m%}`whoami`@`hostname -s`#%{\033[0m%} "`
Run Code Online (Sandbox Code Playgroud)
在你的 shell 启动文件中。这个是给蓝色的。更换44用41杉木红色和42绿色。其他颜色和百搭图案也可用。
小智 14
这些是我的建议:
1) 确保生产环境中的大多数命令(rm、chown、chmod、/etc/init.d/*)都需要 sudo 访问
2)使用PS1/PS2表示用户在Prod服务器
bash-3.2$ export PS1="[\u@\h \W]\$ "
Run Code Online (Sandbox Code Playgroud)
这将命令提示符显示为
[sridhar@prodappserver901 conf]$
Run Code Online (Sandbox Code Playgroud)
3) 如果使用 Putty/SSH 客户端,您可以随时设置独特的背景颜色/配置文件,使生产服务器脱颖而出。
Joh*_*ers 13
只需考虑您的第二个和第三个想法在初始连接期间有所帮助,但当您打开多个终端并从一个终端移动到另一个终端时就没有任何价值了。sysadmin1138 使用命名的想法在可以应用时很好,但也有很多情况不能应用。
我发现唯一真正值得的东西是彩色提示。我喜欢绿色用于开发/测试,红色用于生产,蓝色用于 DMZ 中的机器。这样,即使我有两台同名的机器(在不同的网络中),比如在准备更换机器时,我仍然可以很容易地分辨出我在哪一台。
Nil*_*ils 11
红色/特殊命令提示符很好。另一件事可能是使用 TMOUT 变量在这些机器上更快地自动注销。如果您打开了许多窗口,生产窗口会更快地消失。
这应该会导致不同的行为:
小智 9
使用普通的 root 帐户在生产机器上工作从来都不是一个好主意。
拥有一个具有完全 sudo 权限的帐户。不允许保存 sudo 会话。禁止sudo su。使用单独的密码(不是你的开发机器的密码)。可能会调整 sudo 以在执行命令(通过 alias )之前通知 shell 的生产身份。
它会犯一些相当困难的意外错误。红色提示永远不会受到伤害。
我采用了红色提示的想法,发现为.bashrc.
所以这是我的版本,准备包含在.bashrc- https://github.com/RichVel/nicer-bash-prompt 中。它是完全由主机驱动的,所以只要你有一个合适的模式,以生产主机名(比如说xyprod01,xyprod02等等),它会工作得很好,你可以使用相同.bashrc于各种环境。
它看起来像这样:

这会创建一个更好的 bash 提示,包括生产主机上的红色提示 - 还会显示当前的 git 分支和 $PWD 中的最后 2 个目录。在 bash 中执行 Ctrl/R(反向搜索)时,注意避免弄乱提示显示。
还包括一个可选功能,用于在所有终端窗口中同步您的 bash 历史记录,沿着这个答案的路线。这很好,但不是每个人都想要它,所以默认情况下它是禁用的。
虽然我不知道您的 IT 设置是什么样的,但一种可能有效的解决方案是拥有一个特殊的房间,您必须以 root 身份通过 SSH 进入生产服务器。如果您有一个数据中心,这可能是服务器机房本身,但如果有一个单独的物理位置,“正常”工作不会从中完成,则可以非常有效地不断提醒您正在访问生产机器。
| 归档时间: |
|
| 查看次数: |
21305 次 |
| 最近记录: |