Podpowiedź:
wersja z chpasswd jest prawie poprawna. Problem prawdopodobnie wynika z nieustawionej zmiennej ENCRYPT_METHOD w pliku /etc/login.defs. Możesz to obejść ręcznie podając algorytm hashowania jako parametr, przez wywołanie w postaci chpasswd -c SHA512.
Dodatkowo ta linijka wymaga także sudo (w końcu to przebitka hasła bez weryfikacji starego), tylko dobrze zastanów się, czy po lewej, czy po prawej stronie znaku |.
Na szybko możesz sprawdzić czy chpasswd "poszedł" robiąc sudo grep newuser /etc/shadow . Jak linijka zaczyna się od newuser:!: to nie poszło, jak po dwukropku jest "krzak" to poszło.
Pomagam, bo wykazałeś się wystarczającą własną inwencją i utknąłeś na nie udokumentowanym działaniu - powinno ono zwrócić błąd z wyjaśnieniem, a kończy się "po cichu".