在 ubuntu 中使用不同的用户进行 SSH-为什么控制台的工作方式不同?

在 ubuntu 中使用不同的用户进行 SSH-为什么控制台的工作方式不同?

我通常使用同一个用户 (ubuntu) 连接到许多 Ubuntu 服务器。第一次我为 Ansible 创建了一个新用户 (elliot),并开始使用新用户进行 ssh。奇怪的是,当我使用默认用户进行 ssh 时,我遇到了:

ubuntu@node2517

一切正常,没有问题。但如果我用新用户 ssh,我只需要:

$

例如,我无法使用自动填充,无法选择上一个命令。看起来好像有些功能不起作用或缺失了。

我的问题是如何让新用户的行为与旧用户一样?这意味着在服务器上使用 ssh 并查看:

埃利奥特@node2517

谢谢

答案1

更改用户的壳。解释您的输入(并显示“提示”文本)的程序是 shell,大多数 Linux 系统都带有两个:bash是常规的,但如果您在创建帐户时忘记指定它,您将获得历史记录sh

(zsh 和 fish 也是常见的选择,但需要先安装它们。)

您可以使用或chshusermod更改 shell 路径 – 前一个命令允许任何用户自己执行此操作。

chsh -s /bin/bash elliot

(注意:以 root 身份执行此操作时,请务必首先查看文件中列出的 shell /etc/shells,因为系统可能会拒绝该文件中没有 shell 的用户登录。)

相关内容