Это соответствующая часть вашего файла журнала:
debug1: Trying private key: /home/Aericio/.ssh/id_ecdsa
Enter passphrase for key '/home/Aericio/.ssh/id_ecdsa':
debug3: sign_and_send_pubkey: ECDSA SHA256:/nMfW17zQ9zoH1UCzlSmLWtN4Mh/ST62SE5sB9B7D24
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
SSH обнаружил один ключевой файл (id_ecdsa) — он запросил у вас его пароль, а затем передал его на целевой сервер. Целевой сервер не доверял вашему ключу, и ssh перешел к использованию следующего метода аутентификации.
Что вам нужно сделать, так это скопировать открытый ключ на целевой сервер в файл authorized_keys
, проще всего примерно следующим образом:
ssh-copy-id <user>@<destination server>
Если у вас есть более одного ключа или есть один определенный идентификатор для копирования, вы можете добавить -i .ssh/id_ecdsa.pub
к команде
Это потому, что во втором примере переменная $ HOME
расширяется до того, как оболочка выполнит команду, поэтому на самом деле вы выполняете
sudo su - user2 -c "echo /home/user1"
, поскольку это значение переменной $ HOME
имеет на данный момент.
(я также предполагаю, что вывод второй команды на самом деле не $ HOME = / home / user1
, а просто / home / user1
).
Вы можете предотвратить расширение переменных в первой оболочке, если используете одинарные кавычки:
$ sudo su - user2 -c 'echo $HOME'
/home/user2