SSH и переадресация агента в Ubuntu 12.10
У меня есть машина X, я вхожу в X и выдаю ssh somewhere
Команда, которая использует аутентификацию по ключу и работает нормально.
Когда я выполняю команду ssh на компьютере X с компьютера 12.10 (на котором нет специальных клавиш X моего специального компьютера) и пытаюсь выполнить ту же команду, указанную выше, происходит сбой Permission denied (publickey).
сообщение. Я погуглил и похоже, что это связано с переадресацией агента ssh, но я не уверен.
Я столкнулся с той же проблемой, пытаясь ssh из последней SecureCRT тоже. Я попытался отключить переадресацию агента в secureCRT, но безуспешно.
Как мне это решить? Если ключом является отключение переадресации агента, как мне это сделать? Нужно ли что-то менять в машине назначения?
2 ответа
Нужно изменить параметр ForwardAgent=yes на /etc/ssh/ssh_config
Ошибка означает, что компьютер X принимает только аутентификацию с открытым ключом, и у вас, похоже, нет личного ключа на компьютере 12.10.
Обратите внимание, что есть разница между клавишами машины и вашими клавишами.
12.10 (и аналогично на большинстве машин) ключи машин были созданы при установке пакета openssh-server и будут храниться в файлах, называемых чем-то вроде /etc/ssh/ssh_host_*_key[.pub]
Ваши ключи хранятся на компьютере, на котором вы запускали ssh-keygen, и обычно находятся в ~/.ssh/id_rsa
а также ~/.ssh/id_rsa.pub
,
В вашем случае для SSH с 12.10 по X вам необходимо надежно скопировать ~/.ssh/id_rsa
от Х до 12.10. Обратите внимание, что это ваш личный ключ, и вы не хотите, чтобы его кто-нибудь видел.
Далее вам нужно убедиться, что есть копия ~/.ssh/id_rsa.pub
в файле с именем ~/.ssh/authorized_keys
на Х. (cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
должен делать работу)
Вам также необходимо убедиться в правильности разрешений: ~/.ssh/
каталог должен быть rwx
только вами и файлами в ~/.ssh/
лучше всего настроены на rw
только вами.