Sourcen verewigen für Tutorial

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

@Warf
Dein erster Tip probiert, alles geht bis auf das wichtigste, das git push.

Code: Alles auswählen

 
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git initReinitialisierte existierendes Git-Repository in /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3/.git/
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git remote add origin https://github.com/sechshelme/Lazarus-O ... torial.git
fatal: externes Repository origin existiert bereits
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git remote -vorigin   https://github.com/sechshelme/Lazarus-O ... torial.git (fetch)
origin   git@github.com:sechshelme/Lazarus-OpenGL-3.3-Tutorial (push)
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git fetch origin
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git branch --track master origin/master
fatal: Branch 'master' existiert bereits.
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git add .
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git commit -m test
[master c2c55cc] test
 1 file changed, 50 deletions(-)
 delete mode 100644 readme (Kopie).txt
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $ git push
Permission denied (publickey).
fatal: Could not read from remote repository.
 
Please make sure you have the correct access rights
and the repository exists.
tux@tux-To-be-filled-by-O-E-M /n4800/DATEN/Programmierung/Lazarus/Tutorials/OpenGL_3.3 $


PS: Ich habe .git gelöscht und dein Tip nochmals durchgespielt, jetzt scheint es zu klappen. Man muss wieder User und Passwort eingeben, aber das wichtigste, es geht wieder.
Vielen Dank für deine Mühe. :)

Noch ein positiver Nebeneffekt, der Ordner .git ist um einige kleiner geworden. :wink:

Das ganze SSH-Zeuge werde ich nicht mehr verwenden.
Einzig was ich noch begrüssen würde, wen man User und Passwort mittels << oder was ähnlichen übergeben kann.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

Einzig was ich noch begrüssen würde, wen man User und Passwort mittels << oder was ähnlichen übergeben kann.

Wen man weis wie, ein Kinderspiel.

Folgende Datei anlegen/ergänzen:
- Linux: ~/.netrc
- Windows: %HOME%\_netrc.
Mit folgedem Inhalt:

Code: Alles auswählen

machine github.com login <benutzer> password <passwort>


Quelle: https://im-coder.com/git-push-erfordert ... swort.html Post 105.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Sourcen verewigen für Tutorial

Beitrag von Warf »

Mathias hat geschrieben:Wen man weis wie, ein Kinderspiel.

Folgende Datei anlegen/ergänzen:
- Linux: ~/.netrc
- Windows: %HOME%\_netrc.
Mit folgedem Inhalt:

Code: Alles auswählen

machine github.com login <benutzer> password <passwort>


Quelle: https://im-coder.com/git-push-erfordert ... swort.html Post 105.

Das heißt du kombinierst grade die Sicherheitsprobleme von SSH (passwort auf einem möglicherweise gefährdentem PC zu speichern) mit denen von HTTPS Authentifizierung (Schwache Passwörter, Passwort muss vollständig übertragen werden).
Klingt für mich nach der schlechtest möglichen Lösung. Zumindest Sicherheitstechnisch eine absolute Katastrophe.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

Klingt für mich nach der schlechtest möglichen Lösung. Zumindest Sicherheitstechnisch eine absolute Katastrophe.
Macht dies nicht jeder Online-Shop auch so ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Adromir
Beiträge: 37
Registriert: Sa 28. Apr 2018, 04:09

Re: Sourcen verewigen für Tutorial

Beitrag von Adromir »

Ich wiederhole meinen Tipp. Versuch dich an Smartgit. Keine frickelei auf Konsole etc. Komfortabeler geht es eigentlich nicht

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Sourcen verewigen für Tutorial

Beitrag von Warf »

Mathias hat geschrieben:Macht dies nicht jeder Online-Shop auch so ?


Ja, aber Online shops sind auch kein sonderlich guter Sicherheitsstandard. Außerdem müssen Shops mit Laien kompatibel sein und HTTP unterstützt keine RSA authentifizierung. Dies gilt allerdings nicht für SSH/Git. Entwicklern die git verwenden sollte man definitiv zutrauen können sich 15 minuten etwas über SSH und Public/Private Key Verschlüsselung durchzulesen und wenn du dich dann dafür entscheidest ein Passwort zu verwenden (gibt einige Leute die das besser finden), solltest du es defintiv nicht einfach unverschlüsselt auf der Festplatte liegen lassen. Der einzige sicherheitstechnische Vorteil von Passwörtern gegenüber Public/Private Key verfahren ist das der Private key auf einer Unsicheren Platte liegen kann, während man sein Passwort im Kopf hat.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Sourcen verewigen für Tutorial

Beitrag von mse »

Adromir hat geschrieben:Ich wiederhole meinen Tipp. Versuch dich an Smartgit. Keine frickelei auf Konsole etc. Komfortabeler geht es eigentlich nicht

Dann wiederhole ich meinen Tipp auch noch einmal. MSEgit, Open Source und geschrieben in Free Pascal. ;-)
Zuletzt geändert von mse am Di 17. Jul 2018, 06:45, insgesamt 1-mal geändert.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

Ja, aber Online shops sind auch kein sonderlich guter Sicherheitsstandard. Außerdem müssen Shops mit Laien kompatibel sein und HTTP unterstützt keine RSA authentifizierung. Dies gilt allerdings nicht für SSH/Git.
Was ist an dem Git-Account so heikel, oder anders gesagt was will man da klauen, die Sourcen sind sowieso öffentlich.
Anders sieht es aus, wen man nicht öffentlichen Sourcen hoch lädt.


Ich habe noch eine andere Frage, wie kann ich es unterbinden, das es keine EXE oder lib hoch lädt ?
Bis jetzt habe ich diese immer vor dem hochladen von Hand gelöscht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Sourcen verewigen für Tutorial

Beitrag von Warf »

Mathias hat geschrieben:Was ist an dem Git-Account so heikel, oder anders gesagt was will man da klauen, die Sourcen sind sowieso öffentlich.
Anders sieht es aus, wen man nicht öffentlichen Sourcen hoch lädt.


Ich habe noch eine andere Frage, wie kann ich es unterbinden, das es keine EXE oder lib hoch lädt ?
Bis jetzt habe ich diese immer vor dem hochladen von Hand gelöscht.


Es geht darum das du mit gleichem aufwand einen ssh key verwenden kann, der genau das macht was du jetzt hast. Für SSH erstellst du einen Private key und wenn du dich an einem rechner anmelden willst musst du nur den SSH key auf die festplatte legen. Aktuell legst du ein Passwort auf die Festplatte, selbes prinzip, nur unsicherer. Wenn ich zwei optionen habe, beide sind gleich viel aufwand, eine ist sicherer als die andere ohne Nachteile. Warum zum teufel sollte man sich für die unsicherere Lösung entscheiden?

Zu deiner Frage, dazu gibt es die .gitignore: Link.
Für lazarus verwende ich immer diese. Meist kompiliere ich auch in einen bin ordner, den ich einfach komplett in die gitignore setzte

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Sourcen verewigen für Tutorial

Beitrag von mse »

Mathias hat geschrieben:Ich habe noch eine andere Frage, wie kann ich es unterbinden, das es keine EXE oder lib hoch lädt ?
Bis jetzt habe ich diese immer vor dem hochladen von Hand gelöscht.

viewtopic.php?p=101299#p101299
Mathias hat geschrieben:
Mathias, ich rate dir dringend git bei der täglichen Arbeit zu verwenden und nicht nur als unverstandenes Archiv-Tool.

Da hast du recht. somit gibt es ein Backup der Tutorials.

Du solltest auch eine ".gitignore"-Datei anlegen.

Eine gute Idee, es muss nicht aller Mist hoch geladen werden.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

Zu deiner Frage, dazu gibt es die .gitignore: Link.


Unter Windows ist dies einfach mit den EXE, wie mache ich dies am besten mit Linux ?
Wen es wie im Tutorial der Fall ist, und die bin imer "project1+ heistm sollte es ja so gehen:

Code: Alles auswählen

# Lazarus compiler-generated binaries (safe to delete)
*.exe
project1
....


Meist kompiliere ich auch in einen bin ordner, den ich einfach komplett in die gitignore setzte
Das ist die Alternative, wobei ich dies bei ernsthaften schon gemacht habe. Bei den meisten Muter-Code in die Bin sowieso immer "project1".

Für SSH erstellst du einen Private key und wenn du dich an einem rechner anmelden willst musst du nur den SSH key auf die festplatte legen.
Wen ich es mit SSH mache, kann ich dann einfach den Ordner .shh irgendwo sichern und bei einem System-Crash zurück kopieren ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Sourcen verewigen für Tutorial

Beitrag von Warf »

Mathias hat geschrieben:
Zu deiner Frage, dazu gibt es die .gitignore: Link.


Unter Windows ist dies einfach mit den EXE, wie mache ich dies am besten mit Linux ?
Wen es wie im Tutorial der Fall ist, und die bin imer "project1+ heistm sollte es ja so gehen


Deshalb habe ich angefangen den bin Ordner zu verwenden

Wen ich es mit SSH mache, kann ich dann einfach den Ordner .shh irgendwo sichern und bei einem System-Crash zurück kopieren ?

Genau, ich würde empfehlen das ganze irgendwie zu verschlüsseln (z.b. Veracrypt encrypted volume) und dann irgendwo hochladen damit du jederzeit wieder dran kommst. Oder Klassisch, verschlüsselter USB stick oder so

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Sourcen verewigen für Tutorial

Beitrag von mse »

Mathias hat geschrieben:Unter Windows ist dies einfach mit den EXE, wie mache ich dies am besten mit Linux ?

Ich lasse nicht einfach alles abzüglich der Masken in .gitignore sondern gezielt die notwendigen Dateien zum Archiv hinzufügen.
viewtopic.php?f=53&t=10809 (erstes Bild).
viewtopic.php?p=101259#p101259

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Sourcen verewigen für Tutorial

Beitrag von Mathias »

Zu deiner Frage, dazu gibt es die .gitignore: Link.
Für lazarus verwende ich immer diese. Meist kompiliere ich auch in einen bin ordner, den ich einfach komplett in die gitignore setzte
Scheint zu klappen, danke.

Genau, ich würde empfehlen das ganze irgendwie zu verschlüsseln (z.b. Veracrypt encrypted volume) und dann irgendwo hochladen damit du jederzeit wieder dran kommst. Oder Klassisch, verschlüsselter USB stick oder so
Verschlüsseln, mit solchen Sachen schiesst man irgendwann ein Eigengoal. Mache mal eine Datenrettung mit so etwas. Genau mit SHH, habe ich die Erfahrung auch gemacht ein neues OS und schon hatte ich Ärger wie oben beschrieben. Mit dem klassischen Passwort hätte ich das nicht gehabt. Das Passwort habe ich zur Not im Kopf.
Was will ein Hacker mit meinen Tutorials, die Quelltexte sind sowieso öffentlich.

Anders würde es aussehen, wen ich etwas kommerzielles hochladen würde, bei dem die Sourcen nicht öffentlich sind.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Sourcen verewigen für Tutorial

Beitrag von Warf »

Mathias hat geschrieben:Verschlüsseln, mit solchen Sachen schiesst man irgendwann ein Eigengoal. Mache mal eine Datenrettung mit so etwas. Genau mit SHH, habe ich die Erfahrung auch gemacht ein neues OS und schon hatte ich Ärger wie oben beschrieben. Mit dem klassischen Passwort hätte ich das nicht gehabt. Das Passwort habe ich zur Not im Kopf.
Was will ein Hacker mit meinen Tutorials, die Quelltexte sind sowieso öffentlich.

Anders würde es aussehen, wen ich etwas kommerzielles hochladen würde, bei dem die Sourcen nicht öffentlich sind.


Ja wenn du deinen Key irgendwo hochladen willst würde ich ihn auf jeden Fall verschlüsseln, wenn du ihn lokal speicherst (z.B. auf nem USB stick) dann würde ich ihn auch verschlüsseln wenn die möglichkeit bestehet den Stick zu verlieren. Gleichzeitig habe ich das Passwort 3 mal aufgeschrieben und an verschiedenen stellen deponiert (falls ich es vergessen sollte). Allerdings wenn du keine angst hast das dein USB Stick in falsche Hände kommen

Das ding mit dem SSH Key ist nunmal, oftmals verwendet man SSH für mehr als einen Dienst. Ich z.B. verwende SSH für git auf Github, dem Universitäts git und meinem eignen Gitlab Server. Gleichzeitig greife ich via SSH auf meinen Server zu, und muss für die Arbeit auch über SSH arbeiten.
Dafür verwende ich überall den selben SSH key (im gegensatz zu passwörtern ist das sicherheitsmäßig kein risiko). So gesehen ist das also Sicherheitstechnischer Aufwand für multiple Dienste. Wenn ich passwörter verwenden würde müsste ich mir nicht mehr nur ein passwort merken, sondern gleich 5.
Du machst dir heute einmal den Aufwand einen SSH key zu erzeugen und ihn auf einem USB stick zu speichern und kannst ihn über Jahre hinweg bei beliebig vielen Diensten verwenden. Bei Passwörtern musst du für jeden dienst ein neues Passwort wählen und je nach dienst es sogar alle paar Monate ändern.
Das heißt allein wenn du dich im laufe der nächsten 2-4 jahre entscheiden solltest von github auf alternativen zu wechseln (was ja aktuell viele Leute machen da github von Microsoft gekauft wurde) und du damit schon 2 git accounts hast, lohnt sich SSH gegenüber Passwort.

Was will ein Hacker mit meinen Tutorials, die Quelltexte sind sowieso öffentlich.


Ich lege dir wärmstens ans Herz git für jedes Projekt zu verwenden und jede Änderung zu commiten. Es verbessert den Workflow ungemein. Zum einen ist es ein sehr gutes backup system, zum anderen erlaubt es dir zwischen versionen zu vergleichen, dir deine arbeit über die zeit hinweg anzuschauen (z.B. um zu sehen ob noch irgendwo debug code ist), im Team zu arbeiten, branches für unstable/test code zu verwenden, der im eigentlichen release (noch) nicht drin sein soll, Code zu Teilen, vereinheitlichen der Zeilenendung (grade wenn man auf Windows und Unix arbeitet kann das echt nervig werden), Releaseversionen zu markieren und vieles mehr.

Du musst ja nicht github verwenden, wenn du private Repositories möchtest schau dir mal bitbucket an. Grade wenn Lazarus mal wieder seine Zicken hat und die LFM dateien komplett zerschießt (z.B. wenn man auf die Idee kommt +/- INF im Objektinspektor zu verwenden) kann man mit git einfach die entsprechenden dateien zurücksetzen (angenommen man commitet oft genug. Ich committe immer nachdem ich eine größere Funktionalität fertig habe oder alle 2-3 Stunden)

Antworten