Назад | Перейти на главную страницу

Как вы управляете ключами ssh для добавления второго пользователя?

я использовал Эта статья для настройки ключей и входа пользователя на сервер Ubuntu из окна Windows с помощью Putty.

Теперь я хотел бы добавить дополнительного пользователя ssh, который будет входить в систему с MacBook. Я использовал ssh-keygen для генерации локальных ключей, но мне не удалось скопировать ключи на сервер. Вот мои показания bash (частично изменены по понятным причинам)

MacBook-Pro: ~ joe $ scp -2 -P 50022 -v ~ / .ssh / id_rsa.pub newuser@111.222.333.444:
Выполняется: программа / usr / bin / ssh host 111.222.333.444, пользователь newuser, команда scp -v -t.
OpenSSH_5.2p1, OpenSSL 0.9.8l 5 ноября 2009 г.
debug1: чтение данных конфигурации / etc / ssh_config
debug1: подключение к порту 50022 111.222.333.444 [111.222.333.444].
debug1: соединение установлено.
debug1: файл идентификации /Users/joe/.ssh/id_rsa type 1
debug1: файл идентификации /Users/joe/.ssh/id_dsa type -1
debug1: версия удаленного протокола 2.0, версия удаленного программного обеспечения OpenSSH_4.3
debug1: соответствует: OpenSSH_4.3 pat OpenSSH_4 *
debug1: включение режима совместимости для протокола 2.0
debug1: строка локальной версии SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT отправлен
debug1: получен SSH2_MSG_KEXINIT
debug1: kex: server-> client aes128-ctr hmac-md5 нет
debug1: kex: client-> server aes128-ctr hmac-md5 нет
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST (1024 <1024 <8192) отправлено
debug1: ожидается SSH2_MSG_KEX_DH_GEX_GROUP
debug1: отправлено SSH2_MSG_KEX_DH_GEX_INIT
debug1: ожидание SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Хост '[111.222.333.444]: 50000' известен и соответствует ключу хоста RSA.
debug1: найден ключ в /Users/joe/.ssh/known_hosts:2
debug1: ssh_rsa_verify: подпись верна
debug1: SSH2_MSG_NEWKEYS отправлено
debug1: ожидание SSH2_MSG_NEWKEYS
debug1: получено SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_SERVICE_REQUEST отправлен
debug1: получен SSH2_MSG_SERVICE_ACCEPT
debug1: аутентификация, которая может продолжаться: publickey
debug1: Следующий метод аутентификации: publickey
debug1: Предлагает открытый ключ: /Users/joe/.ssh/id_rsa
debug1: аутентификация, которая может продолжаться: publickey
debug1: использование закрытого ключа: /Users/joe/.ssh/id_dsa
debug1: больше нет способов аутентификации.
В разрешении отказано (публичный ключ). потерянное соединение

Вам нужно войти в систему с помощью шпатлевки на компьютере с Windows, выйти из файла .ssh / authorized_keys и добавить в файл ключ, созданный на Mac.

Не запускайте команду

scp -2 -P 50022 -v ~/.ssh/id_rsa.pub newuser@111.222.333.444:

Это приведет к перезаписи существующего ключа на сервере, и это также не будет работать, поскольку сервер принимает только ключевые логины.

Альтернативно, вы можете просто скопировать закрытый ключ, сгенерированный в окне Windows, на свой Mac (возможно, вам придется преобразовать формат ключа, см. ssh страницы руководства на вашем Mac ...). Ни суеты, ни суеты.

Вам нужно будет добавить содержимое открытого ключа Джо (.ssh / id_rsa.pub) в файл ~ newuser / .ssh / authorized_keys на сервере. Я бы рекомендовал использовать RDP на MacBook для подключения к вашей машине с Windows, убедившись, что буфер обмена является общим. cat содержимое открытого ключа на MacBook, затем откройте окно замазки, подключенное к серверу. Тогда беги ...

cat - >>~newuser/.ssh/authorized_keys

и вставьте ключевое содержимое, нажмите ctrl + d, чтобы закрыть файл.

В качестве альтернативы, если вы можете включить аутентификацию пароля на сервере, вы можете использовать ssh-copy-id с Mac