OpenSSH 连接不显示路径或名称

OpenSSH 连接不显示路径或名称

我最近重新安装了 Ubuntu 服务器(12.10),但碰巧遇到了 OpenSSH 的一个小问题。

一旦我创建了一些新帐户并登录,终端总是会回复 “$”. 与 root 帐户相反,root 帐户通常会提示 “名称@服务器路径:”

那么,我究竟是如何禁用普通账户的路径和名称显示的呢?我想恢复它。

答案1

发生这种情况的最常见原因是新用户的 shell 配置文件没有任何设置来调整 shell 提示符;而且它还依赖于为用户配置的 shell。

当我做:

useradd -m freddy

然后su - freddy,我收到提示

$

和 ps 列表:

$ ps
 PID TTY          TIME CMD
7258 pts/28   00:00:00 su
7266 pts/28   00:00:00 sh
7300 pts/28   00:00:00 ps

即不使用 bash。

如果我们添加具有 shell 的用户bash

userdel -r freddy
useradd -m -s /bin/bash freddy
su - freddy

我们得到提示:

freddy@host:~$

如果您想修改用户帐户的登录 shell 以便他们有一个提示,那么您可以执行以下操作:

usermod -s /bin/bash <account name>

对于每个帐户。

再次,所有useradduserdelusermod命令都按 执行root

答案2

此问题与 OpenSSH 无关。shell 提示符基于 PS1 环境变量。如果您想将 shell 提示符重置为“Name@Server Path:”,请在 .bashrc 或 .bash_profile 或 .profile 中添加以下行

   PS1="\u@\h:\w"

有关设置(彩色)提示的更多方法,请参阅这里

相关内容