datei per ssh editieren?

Gonzalez

New Member
Hallo Leute,
bevor Ihr Alle über mich herfallt, ich weiss das diese Frage für einen Besitzer eines eigenen Linux V-Servers eigentlich ein absolutes Armutszeugnis ist und ich bekenne mich dazu, noch ein relativer noob in Linux zu sein. ;)

Allerdings hatte ich den Server zusammen mit einem Linux-erfahrenen Kollegen eingerichtet und aufgesetzt. Sachen wie kein root user login und bestimmte ports gesperrt, hatten wir noch zusammen gemacht. Er hatte mir auch die wichtigsten Befehle für die SSH Konsole beigebracht. Ich kann mich also in den verzeichnissen bewegen, suchen, Rechte vergeben, Software per wget installieren, per unzip entpacken, etc. Den Midnight Commander und Aptitude hatten wir auch schonmal zusammen angeschaut. Leider kann ich auf diese Hilfe jetzt nicht mehr zurückgreifen, der er weggezogen ist. Also bin ich seit 2-3 Monaten dabei mich selbst durch Alles durchzuarbeiten und hoffe nun auf die ein oder andere Hilfe aus diesem genialen Forum.

Meine Konfiguration: kleiner Strato V-Server, Debian 4, Plesk 8.6, Php5.208, MySQL 5, Email Services und mehrere Domains am laufen

So nun zu meiner "blöden" Frage. Habe schon sehr lange das Netz durchforstet nach brauchbaren Infos, habe rausbekommen das man eine Datei direkt über Ssh editieren kann, zbsp. per mc, oder direkt mcedit [pfad zur datei], oder vi, oder anscheinend auch nano [pfad zur datei]

der Befehl mc und mcedit funktionieren bei mir auf der Konsole allerdings nicht. Das mit nano muss ich noch versuchen. Und vi habe ich gelesen muss ich erst wieder installieren, da anscheinend nicht auf dem System mit inklusive.

Aber sollte bei Debian 4.0 nicht der mc (midnight commander) mit installiiert worden sein? Und mit dem kann ich doch eigentlich dateien per ssh verwalten, verschieben, löschen, kopieren und editieren oder? Wie macht Ihr das denn genau? Ich könnte die Datei natürlich auch mit Notepad++ lokal bearbeiten, dann auf meinen Ftp Account hochladen und dann auf der Konsole per wget [pfad über url zur bearbeiteten datei] wieder runterziehen...? Aber das wäre ja totaler schwachsinn oder!? ;)

Ich hoffe Ihr habt ein paar Tipps und Tricks für mich, damit ich weiterkomme und wieder was essentielles dazu lernen kann. ;)
dank Euch schonmal

Gruß Gonzalez
 
Last edited by a moderator:
Hallo!
Wenn du mc (midnight commander) bereits kennst, kannst du ihn doch über aptitude install mc nachinstallieren.

mfG
Thorsten
 
ah Ok ja das wusste ich dann zbsp. doch wieder nicht, wofür genau das Aptitude wieder gewesen war...
was macht man denn mit aptitude normalerweise genau?

wie ich Aptitude starte weiss ich noch...dann befolge ich mal Deinen Rat und istalliere mc nach mit aptitude install mc

Was mich nur wudert ist, dass wir auf diesem Server ja eigentlich schonmal mc gestartet hatten und mir der Kollege was gezeigt hatte, aber dann müsste das tool doch auch jetzt noch drauf sein und zu starten sein oder?

Der Befehl zum starten vom Midnight Commander war doch einfach nur mc gewesen oder? oder dann mcedit [dateiname]?

danke schonmal für die Hilfe!
 
Bist du sicher, dass du einen Linux-Server alleine administrieren möchtest?
Wem nicht mal "vi" geläufig ist, sollte die Finger davon lassen und erstmal zuhause virtuell üben.
 
@ Janny82, Du hättest erstmal den ganzen Thread, bzw. meinen ersten Post darin lesen sollen, bevor Du mir solche Ratschläge gibst. Dann hättest Du gewusst wie es überhaupt dazu gekommen ist. So wenn Du das nachgeholt hast, dann verstehst Du sicherlich auch, dass ich jetzt deswegen nicht einfach den V-Server mit laufenden 5 Domains und produktiven Internetseiten abschalten kann. ;) Deswegen besteht ja leider überhaupt diese Situation dass ich mich jetzt alleine mit dem Server und Linux auseinandersetzen muss. Aber da ich schnell lerne und auch lernbereit bin sollte das mit viel nachlesen und informieren schon klappen...es muss ja sogar klappen, ich hab da gar keine Wahl.

Aber danke für den gut gemeinten Rat. Mehr geholfen hätte mir allerdings wie ich eben eine Datei am schlauesten auf dem Server editiere (ok so wie ich jetzt mehrfach gelesen und gehört hab, geht das einfach mit mc)
und dann noch wichtiger wie ich eigentlich ein zip-ordner der bei mir lokal am Rechner liegt per Ssh in einen bestimmtes Verzeichnis auf dem Server hochladen kann.

danke für Eure Hilfe
 
und wie kann ich WinSCP trotz su mit root-user nutzen?

...wie der Titel schon sagt, habe ich auf dem V-Server aus Sicherheitsgründen den root-user deaktiviert und der root Zugang ist nur noch über einen anderen user mit anschließendem su möglich.

Jetzt kann ich mich deswegen anscheinend gar nicht per WinSCP, also per sftp oder scp auf dem Server anmelden.

Wie kann ich das jetzt umgehen oder hinbekommen, muss ich jetzt jedesmal den su root deaktivieren und dann anschließend wieder aktivieren oder wie?

vielen Dank schonmal für Eure Hilfe...
 
wie gesagt:
aptitude install mc
oder:
apt-get install mc

mcedit kennst du ja also kein problem. kleiner tipp: mit Shift+Ins kannst du text einfügen den du evtl. vorher woanders(unter win oder so) kopiert hast.

wenn du winscp nutzen möchtest dann müsstest du den ssh-zugang über key-file realisieren.
zb. so:
Die aktuelle SSH Sitzung wird nicht beendet.
Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!


Der vorinstallierte SSH Daemon (sshd) ist in der Grundkonfiguration unsicher. Um einen größeren Schutz zu gewährleisten, ist es nötig eine Schlüsselauthentifizierung zu integrieren.
Schlüsselpaar erzeugen
Zunächst legen wir unter Linux ein Schlüsselpaar an:
Code:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
35:9f:6e:c2:46:62:09:2d:dc:dd:1e:79:cc:56:d9:2b root@v05-s42


Unbedingt ein Passwort angeben, ansonsten kann man durch den reinen Besitz des Private Keys auf den Server zugreifen!

id_rsa.pub benennen wir um in authorized_keys und id_rsa laden wir uns lokal auf den Computer. Wichtig ist es, id_rsa danach sicher zu löschen! (ggf. wipe installieren mit
Code:
apt-get install wipe
dann
Code:
wipe id_rsa

Okay to WIPE 1 regular file ? (Yes/No) yes
Operation finished.
1 file wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.

Den Vorgang wiederholen wir mit allen Usern, die Zugriff auf den sshd haben sollen.

Modes setzen:
Code:
chmod 0700 .ssh
Code:
chmod 0600 .ssh/authorized_keys
Putty Private Key

Nun laden wir uns puttygen.exe runter. Wir öffnen puttygen.exe und navigieren im Menü zu » Conversion / Import Key «. An dieser Stelle wählen wir den generierten private key aus, den wir uns auf unseren Computer geladen haben. Nun noch ein passendes Kommentar hinzufügen und wir können auf » save private key « klicken.

Diesen Key mit der .ppk Endung brauchen wir zum späteren Login für putty. Diesen Key niemals auf den Server laden!
Login Test

Nun testen wir, ob die Verbindung mit dem erzeugten Schlüssel zustande kommt. Dazu öffnen wir putty.exe und tragen wie gewohnt den Hostnamen ein. Bevor wir nun auf » open « klicken, wechseln wir links in der Baumansicht auf » Connection / SSH / Auth « und geben unter » private key file for authentication « den Pfad zu unserem ppk file an. Nun auf » open « klicken. Wenn der Login erfolgreich war, und ohne Fehlermeldung, können wir die Passwort Autenthifizierung in unserem sshd komplett deaktivieren.
sshd Konfiguration

Nun bearbeiten wir die sshd Konfigurationsdatei
Vorher Sichern!!!
Code:
/etc/ssh/sshd_config

# Hier ist es sinnvoll einen Port oberhalb von 1024 zu nehmen
Code:
Port 22

# Unbedingt Protokoll 2 verwenden!
Code:
Protocol 2

# RSAAuthentication deaktivieren
Code:
RSAAuthentication no

# PubkeyAuthentication aktivieren
Code:
PubkeyAuthentication yes

# Don't read the user's ~/.rhosts and ~/.shosts files
Code:
IgnoreRhosts yes

# Wollen wir nicht
Code:
RhostsRSAAuthentication no
Code:
HostbasedAuthentication no
Code:
PermitEmptyPasswords no

# Wollen wir erst recht nicht
PasswordAuthentication no #UNBEDINGT AUSKOMMENTIEREN UND AUF NO SETZEN!!!!
Code:
ChallengeResponseAuthentication no

sshd neustarten
Code:
/etc/init.d/ssh restart

Hinweis

Die aktuelle SSH Sitzung wird nicht beendet. Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!

(dieses ist nicht mein eigenes tutorial, aber ich weiss nicht mehr wo es herstammt)
 
Back
Top