Хорошо я считал много много статей и следовал нескольким различным учебным руководствам, и я не могу заставить свой ключ RSA работать над моими серверами песней. Серверы выполняют песни 6.5 с FreePBX на них, и я пытаюсь заставить это работать от моего VM Ubuntu над моим ноутбуком, таким образом, мы можем создать центральный сервер к ssh от того, таким образом, я могу запустить скрипты для изменения вещей на всех серверах с минимальной работой, так как у нас есть более чем 70 из этих серверов до сих пор и повышающийся быстро, но это не будет работать. Я привел некоторых в замешательство журнал, но те части не должны быть отображены n, общедоступный Интернет, но пользователь является пользователем root (не только sudoer, но и пользователь root)
mitch@ubuntu:~$ ssh -v ******@*******.com
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to ********.com [***.***.***.***] port 22.
debug1: Connection established.
debug1: identity file /home/mitch/.ssh/id_rsa type 1
debug1: identity file /home/mitch/.ssh/id_rsa-cert type -1
debug1: identity file /home/mitch/.ssh/id_dsa type 2
debug1: identity file /home/mitch/.ssh/id_dsa-cert type -1
debug1: identity file /home/mitch/.ssh/id_ecdsa type -1
debug1: identity file /home/mitch/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/mitch/.ssh/id_ed25519 type -1
debug1: identity file /home/mitch/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA ************************************************
debug1: Host '*********.com' is known and matches the RSA host key.
debug1: Found key in /home/mitch/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/mitch/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Offering DSA public key: /home/mitch/.ssh/id_dsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/mitch/.ssh/id_ecdsa
debug1: Trying private key: /home/mitch/.ssh/id_ed25519
debug1: Next authentication method: password
******@************.com's password:
Заранее извините за мой английский, так как он не мой родной язык :)
Сначала смонтируйте вашу удаленную разделяемую папку, например, в /root/.ssh/
Все еще на вашем центральном сервере, создайте ключ вот так :
ssh-keygen -t rsa -C "user@remotehost"
Вам будет предложено следующее:
Генерация публичной/частной пары ключей rsa. Введите файл, в котором будет сохранен ключ (/home/username/.ssh/id_rsa):
Введите что-нибудь вроде :
/root/.ssh/NameOfSSHKeyFile
Я настоятельно рекомендую выбрать надежный пароль, разный для каждого ключа. Используйте хороший локальный менеджер паролей.
Для того, чтобы войти в систему с помощью ключа ssh, НА СЕРвере УДАЛЕНИЯ вам нужно добавить ваш открытый ключ в этот файл :
/root/.ssh/authorized_keys
Открытый ключ обычно находится в папке ~/.ssh/, а расширение файла - ~/.ssh/. pub (так должен быть /root/.ssh/NameOfSSHKeyFile.pub, если вы последовали моим примерам)
Тогда chmod файлы :
chmod 400 ~/.ssh/*
Если он все еще не работает :
Похоже, что вам может понадобиться добавить ключ в ваш кошелек ssh. Он искал Ваш ключ ssh только в этих файлах
ebug1: идентификационный файл /home/mitch/.ssh/id_rsa, тип 1. debug1: идентификационный файл /home/mitch/.ssh/id_rsa-cert тип -1 debug1: идентификационный файл /home/mitch/.ssh/id_dsa тип 2 отладка1: идентификационный файл /home/mitch/.ssh/id_dsa-cert тип -1 debug1: идентификационный файл /home/mitch/.ssh/id_ecdsa тип -1 debug1: идентификационный файл /home/mitch/.ssh/id_ecdsa-cert тип -1 debug1: идентификационный файл /home/mitch/.ssh/id_ed25519 тип -1 debug1: идентификационный файл /home/mitch/.ssh/id_ed25519-cert тип -1
... но он не нашел его.
Давайте добавим ключ в кошелек тогда :
ssh-add .ssh/NameOfSSHKeyFile
Voilà :)
О! и для лучшей безопасности :
ssh-add -D
... собирается удалить ключ из вашего кошелька. Пожалуйста, используйте его :
Вам всегда лучше делать это после каждого вмешательства.
И не забывайте, что после создания файла .pub вам больше не нужно хранить его на вашем центральном сервере: файл ключа .pub должен быть только на удаленном сервере.
Удалите его, как только он окажется в файле авторизованных ключей на удаленном сервере.
Вы также можете ограничить ваши ключи ssh для ip. На удаленном сервере, в файле /root/.ssh/authorized_keys, вы можете добавить from="" для ограничения использования вашего ключа в ip:
Это даст что-то вроде :
from="CENTRA-SERVER-IP-ADDRESS" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHvpIcRLrfmdRb+cK48ooYYLNddaayE5hG5KmHsASKork/T1MvRB3WQJOvJetkM2v7H2G76w90Gr5QpbBhCAD2BqOpIeUKo+npmmUASn48QUs4YzhYbkyRwGWOfrYiKl8oBk2ZXcEV6cL1bHH96OMrozKjrMer6JddvJEAqEEJjny0lg5j/raaDpoEXvPE8YM/oQcs64RUJWp3LwmFR8VO/mSLFSFbuulVDALPWICoWZ/VxE7mR9QhNBlY9Afwe//LDtitPg3eG1hoNLBHbxHpjImBt1ZdaQE4w0y4Nh07Q6E8aepYqNJsdFMZJERL58qGOYvnGTweOLZhtYQa+xNF test