我通常使用同一个用户 (ubuntu) 连接到许多 Ubuntu 服务器。第一次我为 Ansible 创建了一个新用户 (elliot),并开始使用新用户进行 ssh。奇怪的是,当我使用默认用户进行 ssh 时,我遇到了:
ubuntu@node2517
一切正常,没有问题。但如果我用新用户 ssh,我只需要:
$
例如,我无法使用自动填充,无法选择上一个命令。看起来好像有些功能不起作用或缺失了。
我的问题是如何让新用户的行为与旧用户一样?这意味着在服务器上使用 ssh 并查看:
埃利奥特@node2517
谢谢
答案1
更改用户的壳。解释您的输入(并显示“提示”文本)的程序是 shell,大多数 Linux 系统都带有两个:bash
是常规的,但如果您在创建帐户时忘记指定它,您将获得历史记录sh
。
(zsh 和 fish 也是常见的选择,但需要先安装它们。)
您可以使用或chsh
来usermod
更改 shell 路径 – 前一个命令允许任何用户自己执行此操作。
chsh -s /bin/bash elliot
(注意:以 root 身份执行此操作时,请务必首先查看文件中列出的 shell /etc/shells
,因为系统可能会拒绝该文件中没有 shell 的用户登录。)