I doubt the external hard drive has anything to do with your login problem.
Are you sure the keyboard layout is the same you used when you defined the
password? Can you log in a terminal? To get such a terminal, press
Ctrl+Alt+F1. You can then go back to the graphical session with Alt+F7.
Anyway, the solution amounts to getting a root terminal (without having to
input a password) where to execute 'passwd username' to redefine the password
of the user named "username" (substitute "username" with the login of the
user you cannot log).
The problem is: Trisquel makes that process harder than it should be for no
real advantage in terms of security. Trisquel should have no GRUB password
(what you get by commenting all lines in /etc/grub.d/01_PASSWORD) and
recovery mode menu entries (what you get by commenting
"GRUB_DISABLE_RECOVERY=true" in /etc/default/grub). Instead you need here to
boot a live system and 'sudo chroot' the directory where the root partition
of the installed system was mounted.