ssh远程登陆服务器只显示$

使用虚拟机Ubunt,输入ssh localhost之后显示的只有$,没有用户名和主机名,请问怎么解决这个问题

先用echo $PS1看看正不正常附图

ssh localhost命令是在尝试通过 SSH(安全外壳协议)连接到本地主机。执行此命令后,如果你看到$符号,这通常意味着你已经成功地登录到你的主机,并且该提示符是你的 shell 默认提示符。

你想看到的完整的用户名和主机名,也就是你的 shell 提示符,是可以自定义的。在 Bash shell 中,这是由环境变量PS1控制的。你可以检查PS1变量的当前值通过键入echo $PS1。

如果你希望改变这个提示符,你可以更改PS1的值。例如,如果你希望提示符显示为[username@hostname]$ ,你可以在你的.bashrc或.bash_profile文件(这两个文件位于你的用户目录下,例如/home/yourusername/)添加以下行:

PS1='[\u@\h]\$ '

这里,\u代表用户名,\h代表主机名。

然后,你需要运行source ~/.bashrc或source ~/.bash_profile,以使更改生效。这将应用你对PS1的更改。

注意,这个更改只影响当前用户。如果你在不同的用户账户中运行ssh localhost,那么你需要为那个用户账户做同样的更改。

你可以尝试创建一个新的用户,并使用该用户登录。如果新用户可以正常显示提示符,那么问题可能与原始用户的配置文件有关,你可以尝试修复或重新创建原始用户的配置文件。

如果在您使用虚拟机Ubuntu时输入“ssh localhost”命令后,只出现“$”符号,而没有显示用户名和主机名,很可能是因为您已经登录到了本地主机上。
请尝试输入以下命令来确认您目前所在的用户和主机名:
whoami
hostname
如果以上命令输出的结果与您的预期不符,则可以尝试重新启动SSH服务,具体的方法如下:
sudo service ssh restart
然后再尝试用“ssh localhost”命令登录,看看是否能够正常显示用户名和主机名。
另外,如果您是首次使用SSH客户端连接到Ubuntu虚拟机,请确保您已经正确配置了SSH服务,并且在SSH客户端中使用了正确的端口号、用户名和密码。