В шеле ~ раскрывается как домашняя папка текущего пользователя, ~user - как домашняя папка пользователя user: ~/.ssh - для текущего пользователя, ~user/.ssh - для пользователя user.
Выше писали, что можно получить информацию из /etc/passwd, но это неправильный подход: /etc/passwd используется для локальных пользователей. Если в системе настроены другие источники пользователей, например LDAP, в /etc/passwd их не будет. Правильно будет использовать утилиту getent, которая всё это учитывает:
getent passwd | cut -d: -f6