Оболочка ищет выполнить путь ($PATH) программы, когда Вы даете ему команду для выполнения. Снабжение префиксом команды с путем, таким как./препятствует тому, чтобы оболочка искала, и дает оболочке команду использовать определенную программу, явно указанную.
Если программа находится в каталоге не в пути поиска затем, необходимо явно указать на путь к программе.
Вот решение по ссылке, которую я разместил в своем комментарии. Оно пришло по ссылке here, которая ссылается на этот пост суперпользователя.
Создайте папку .ssh
в /home
для хранения ключей
sudo mkdir /home/.ssh
Переместите существующий файл authorized_keys в dir .ssh
в качестве имени пользователя
sudo mv ~/.ssh/authorized_keys /home/.ssh/username
Создайте символическую ссылку на файл authorized_keys в файле пользователя . ssh
dir
ln -s /home/.ssh/username ~/.ssh/authorized_keys
Обновите sshd_config
файл, чтобы установить новый путь к файлу authorized_keys
sudo vim /etc/ssh/sshd_config
Измените строку AuthorizedKeysFile
на:
AuthorizedKeysFile /home/.ssh/%u
Перезагрузите компьютер
sudo shutdown -r now
Войдите на сервер, и вам будет представлен минимальный нерасшифрованный домашний каталог.... Вам нужно будет создать и отредактировать файл .profile, чтобы получить ecryptfs
для монтирования вашей домашней директории.
sudo vim ~/.profile
Добавьте эти строки:
ecryptfs-mount-private
cd /home/username
Выйдите/перезапустите и снова войдите. Вам нужно будет запросить пароль после SSH ключа auth, а затем предъявить расшифрованный домашний каталог.
Теперь вы сможете входить в систему каждый раз, используя SSH-ключи, независимо от того, расшифрована ваша домашняя директория или нет.