hostname in ssh login

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
michi123
Beiträge: 14
Registriert: 24.03.2008 19:15:35
Kontaktdaten:

hostname in ssh login

Beitrag von michi123 » 09.03.2011 17:32:11

hey leute,

seid dem ich lenny auf squeeze upgraded hab lief nix mehr wie vorher lol. hab alles in den griff bekommen, nur nicht die shell console.
ich hab auf unserem server nur einen user dem das einloggen per ssh erlaubt ist. beim login kommt ganz normal die motd und issue.
danach sollte eigentlich der hostname$ angezeigt werden. leider wird da nur noch $ angezeigt und ich bekomm net raus warum der keinen hostnamen mehr anzeigt.
werd ich root, funzt dat ganz normal. beim user werden keiner dir-colors oder aliase angezeigt/akzeptiert - beim root schon. also alles iwie seltsam!
hab schon etliche files vom user durchgesehen, mit denen von einem originalem, also nicht upgraded, deb6 überschrieben. iwie hilft da nix.
weiss da vlt. von euch jemand rat? wär sehr nett.
danke schonmal für eure hilfe! lg

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: hostname in ssh login

Beitrag von Colttt » 09.03.2011 17:44:06

guck mal in die ~.bashrc bzw /etc/bash.bashrc
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: hostname in ssh login

Beitrag von SubOptimal » 09.03.2011 17:46:48

Hi,

folgendes wäre vielleicht noch interessant.

Welche Shell verwendest Du?

Code: Alles auswählen

$ ps
  PID TTY          TIME CMD
11503 pts/6    00:00:00 ksh  <-- wäre z.B. die Korn Shell
11504 pts/6    00:00:00 ps
Wie ist denn die Umgebungsvariable PS1 gesetzt?

Code: Alles auswählen

set | egrep "^PS1"
SubOptimal

michi123
Beiträge: 14
Registriert: 24.03.2008 19:15:35
Kontaktdaten:

Re: hostname in ssh login

Beitrag von michi123 » 09.03.2011 19:28:07

hey leute

erstma vielen dank für eure antworten!

in der ~.bashrc bzw /etc/bash.bashrc hab ich schon geglotzt bzw. hab diese schon durch die von meiner deb6 zuhause-install verwendet. hat nix geändert...

was meinste mit welche shell ich benutze, welche shell dem user zugewiesen ist? ...sh?


hier die ausgabe von ps:

Code: Alles auswählen

$ ps
  PID TTY          TIME CMD
13590 pts/0    00:00:00 sh
13593 pts/0    00:00:00 ps

Code: Alles auswählen

$ set | egrep "^PS1"
PS1='$ '
hilft das weiter?

*EDIT*

humm, hab jetzt bisschen rumprobiert. erstma über dircolors geguckt ob überhaupt farben gesetzt sind, da werden ein ganzer haufen angezeigt.
anschließend bash -ls eingegeben und aufeinmal ist alles so wie´s sein soll. nu wird der hostname in farbe ausgegeben, dircolors angezeigt und auch aliase akzeptiert.
wie kann ich denn diesen cmd schon beim login ausführen lassen?

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: hostname in ssh login

Beitrag von uname » 09.03.2011 20:00:38

Bei mir sieht das so aus:

Code: Alles auswählen

set |egrep '^PS1'
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Code: Alles auswählen

egrep '^PS1' /etc/bash.bashrc 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 
Was nutzt du denn für eine Shell:

Code: Alles auswählen

echo $SHELL
Evtl. noch:
- Eintrag Shell in /etc/passwd
- ls -l /bin/sh

michi123
Beiträge: 14
Registriert: 24.03.2008 19:15:35
Kontaktdaten:

Re: hostname in ssh login

Beitrag von michi123 » 09.03.2011 20:12:41

mir scheint als ob der für den user beim login die bash nicht startet.

etc/passwd sagt /bin/sh (wie oben schon erwähnt, .../sh)

egrep '^PS1' /etc/bash.bashrc gibt das selbe wie bei dir aus! nur set |egrep '^PS1' nicht, da wird nur PS1='$ ' ausgegeben - hmmmm.

ls -l /bin/sh sagt dieses

Code: Alles auswählen

lrwxrwxrwx 1 root root 4 Feb 21 06:58 /bin/sh -> dash
stimmt anscheinend was mit dem eintrag in /etc/profile net... magst mir vlt. ma das stückchen von dir posten bitte?

Code: Alles auswählen

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    # The file bash.bashrc already sets the default PS1.
     PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: hostname in ssh login

Beitrag von SubOptimal » 10.03.2011 09:57:20

Hi,
michi123 hat geschrieben:mir scheint als ob der für den user beim login die bash nicht startet.
etc/passwd sagt /bin/sh (wie oben schon erwähnt, .../sh)
Da hast Du ja den Fehler. Einfach mal per ssh anmelden, dann die Bash manuell starten (einfach bash + ENTER). Wenn es dann so aussieht wie Du es erwartest...

1) in der aktuellen ssh Sitzung
- in der /etc/passwd und /etc/passwd- die Shell des Users von /bin/sh in /bin/bash ändern [2]

2) eine weitere ssh Sitzung starten [1]
- hier sollte der User jetzt die Bash als Shell bekommen

SubOptimal

[1] für den Fall das es nicht klappen sollte hast Du so die Möglichkeit es in Sitzung 1 zu fixen
[2] edit noch eingefügt

Code: Alles auswählen

su -c "usermod -s /bin/bash dein_user_name"
Zuletzt geändert von SubOptimal am 10.03.2011 10:27:12, insgesamt 1-mal geändert.

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: hostname in ssh login

Beitrag von uname » 10.03.2011 10:44:04

Du kannst auch einfach alles von "dash" auf "bash" umstellen, wodurch das Problem auch behoben sein sollte.

http://wiki.debian.org/DashAsBinSh

Code: Alles auswählen

dpkg-reconfigure dash
(und dann Nein auswählen)

Die "dash" ist einiges leichtgewichtiger, wodurch sie wohl mittlerweile Standard bei Debian ist.

Code: Alles auswählen

ls -l /bin/?ash
-rwxr-xr-x 1 root root 811156 10. Apr 2010  /bin/bash
-rwxr-xr-x 1 root root  84144 15. Dez 00:09 /bin/dash

michi123
Beiträge: 14
Registriert: 24.03.2008 19:15:35
Kontaktdaten:

Re: hostname in ssh login

Beitrag von michi123 » 11.03.2011 21:08:38

jo cool männer, hat problemlos gefunzt :)!

vielen vielen dank für die kompetente hilfe!

lg

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: hostname in ssh login

Beitrag von SubOptimal » 12.03.2011 08:44:35

Hi,
uname hat geschrieben:Du kannst auch einfach alles von "dash" auf "bash" umstellen, wodurch das Problem auch behoben sein sollte.
http://wiki.debian.org/DashAsBinSh
Das würde aber dem eigentlichen Grundgedanken, »/bin/sh« als Link auf »/bin/dash«, widersprechen: "One way to speed up the boot in Debian is to replace Debianbash with Debiandash as /bin/sh in the default installation.". Ein generelles umstellen von der dash auf die bash hätte Geschwindigkeitseinbußen beim booten zur Folge. Das sollte man in so einem Fall zumindest mit abwägen. Gezieltes umstellen hat die geringeren Nebeneffekte.

SubOptimal

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: hostname in ssh login

Beitrag von uname » 12.03.2011 09:15:26

Das stimmt natürlich. Besser wäre wohl /bin/bash in /etc/passwd als Shell einzutragen. Aber ob die Unterschiede wirklich so groß sind?

michi123
Beiträge: 14
Registriert: 24.03.2008 19:15:35
Kontaktdaten:

Re: hostname in ssh login

Beitrag von michi123 » 12.03.2011 13:27:48

also das das booten dann verlängert wird ist bei uns ziemlich egal! der server löppt sowieso 24/7 und wird sogut wie nie rebootet (ausser ich stell irgendwelche einstellungen um die einen neustart erfordern, was aber bekanntlich die wenigstens brauchen).
ich hab einfach die dash auf bash umgestellt, was ja in lenny eigentlich auch so standard war. denn beim upgrade von lenny auf squeeze hab ich bei den usern nix umgestellt. d.h. der user hatte auch /bin/sh und aber die bash wurde beim login gestartet. deshalb wars mir ein rätsel warum der login aufeinmal anders ausgesehen hat...

Antworten