Normal reicht Secure Erase oder einfach TRIM/discard per blkdiscard. Idealerweise löscht die SSD ihre Daten dann tatsächlich, da sie davon ja auch einen Performanzvorteil hat. Die SSD hat ja nichts davon, deine alten Daten aufzuheben. Was du dabei kontrollieren musst, ist ob die SSD danach nur noch Nullen zurückliefert.
blkdiscard /dev/loeschmich
echo 3 > /proc/sys/vm/drop_caches # oder reboot
cmp /dev/zero /dev/loeschmich
# EOF on /dev/loeschmich
Ob die Daten in der SSD intern noch vorhanden sind, kannst du beim Erase/Discard/Nullen schreiben gar nicht kontrollieren, aber zumindest rückt die SSD ihre Daten so nicht mehr heraus. testdisk/photorec und andere Wiederherstellungstools gehen damit leer aus. For Otto Normaluser reicht das.
Wenn du der Hardware / dem Hersteller nicht vertraust und was stärkeres haben möchtest... kannst du die SSD natürlich überschreiben... mit Zufallsdaten. (Nullen schreiben kann von der SSD erkannt werden und ist dann auch nichts anderes als TRIM/discard).
Um Zufallsdaten kontrollierbar zu machen kannst du Nullen verschlüsseln:
cryptsetup open --type plain --cipher aes-xts-plain64 /dev/loeschmich loeschmich
dd status=progress bs=1M if=/dev/zero of=/dev/mapper/loeschmich
cmp /dev/zero /dev/mapper/loeschmich
Wenn du Zufallsdaten schreibst und diese auch wieder rausbekommst, dann hast du den Beweis, daß die SSD wirklich so viel gespeichert/überschrieben hat. Zufallsdaten lassen sich nicht komprimieren oder wegoptimieren, anders als bei Nullen kann sich die SSD da nicht drum herum mogeln.
Klar, du kannst dann immer noch nicht kontrollieren, was in den internen Reserven/Datenstrukturen der SSD los ist. Aber eine SSD hat ja nicht unendlich Speicherplatz: also das meiste ist garantiert weg.
Mehr geht nur, wenn du selbst von Anfang an immer alles verschlüsselt hast, und damit etwaige Datenreste unverwertbar machst.