So beheben Sie Bash oder Auto-Run / Bin / Bash bei der SSH-Anmeldung


16

Wenn rootich mich auf meinem Server anmelde, funktioniert alles einwandfrei, aber wenn ich mich als myusernameBash anmelde, funktioniert das nicht richtig.

Die Zeile beginnt mit:

$ 

Anstatt von

myusername@myserver:~$

und alle Sondertasten wie die Pfeiltasten, Tabulatortasten usw. funktionieren nicht.

Wenn ich tippe bin/bash, funktioniert es wieder, aber ich möchte das Problem beheben oder bin/bashbeim Anmelden automatisch starten . Wie kann ich das beheben?

ssh  bash 

Antworten:


16

Sie müssen nur Ihre Shell ändern. Führen Sie als dieser Benutzer Folgendes aus:

$ chsh -s /bin/bash

Dann melden Sie sich ab und wieder an.

Danach sieht die Eingabeaufforderung nicht mehr so ​​aus, wie Sie es möchten. Sie müssen die PS1-Variable Ihrer Umgebung anpassen.


Dies ist tatsächlich gefährlich, da die Frage nach dem rootBenutzer gestellt wird. Er benutzt wahrscheinlich kein Linux. Root sollte bei der Standard-Shell bleiben, da der Hersteller wahrscheinlich damit rechnen wird, dass dies der Fall ist kshoder was auch immer sie gewählt haben. Stattdessen lautet die eigentliche Antwort "Sie sollten sich sowieso nicht als root anmelden".
Bahamat

12

Sie müssen Ihre Shell ändern. Führen Sie den Befehl aus

chsh -s /bin/bash

Melden Sie sich dann erneut an.

Nicht alle Benutzer haben jedoch das Recht, ihre eigene Shell zu ändern. Wenn Sie verwenden, sudodenken Sie daran, Ihren Benutzernamen zum chshBefehl hinzuzufügen als

sudo chsh <username> -s /bin/bash

Andernfalls ändern Sie versehentlich die Shell für root.


Gutes Argument. Erweitert die Antwort leicht.
Mikael Fremling

Ich war sehr naiv zu versuchen: sudo chsh -s /bin/bashda mein Benutzer keine Berechtigung zum Ändern der Shell hatte. Ihre Antwort hat mir geholfen, das Problem zu lösen. Vielen Dank!
Edenshaw

5

Ein möglicher Grund ist, dass die Standard-Shell von myusername nicht bash ist.

Sie können die Shell Ihres aktuellen Benutzers überprüfen mit:

  • echo ${SHELL}
  • echo $0

Um die Benutzeroberfläche dauerhaft zu ändern, siehe man chsh zB:

chsh -s /bin/bash

2

Wenn Ihr sudo-Benutzerkennwort deaktiviert ist, können Sie das /etc/passwddirekt bearbeiten , die Zeile suchen, in der sich Ihr Benutzer befindet, und den Shell-Pfad in ändern /bin/bash.

Hier ist die Erklärung des Formats / etc / passwd .


0

Ich wollte nur noch eine Sache hinzufügen.

Wenn sudo-Zugriff erforderlich ist, um die Bash für diesen Benutzer zu ändern, müssen Sie auch Ihren Benutzernamen im sudo-Befehl angeben, da er ohne Benutzernamen für den Root-Benutzer gilt.

$ sudo chsh -s /bin/bash <user>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.