У меня есть две машины Redhat 7.3. Я хочу SSH-доступ без пароля к машине2 с машины1. Вот что я сделал.
На машине 1 я использовал sudo (sudo su -
) в качестве пользователя root и сгенерировал открытый и закрытый ключи rsa с помощью команды ssh-keygen
со всеми настройками по умолчанию.
Они присутствуют в /root/.ssh/
с именами id_rsa, id_rsa.pub
. Разрешения для .ssh:
drwx------ 2 root root 54 Jan 17 05:08 .
drwxr-x---. 7 root root 4.0K Jan 17 04:08 ..
-rw------- 1 root root 1.7K Jan 17 06:18 id_rsa
-rw-r--r-- 1 root root 414 Jan 17 06:18 id_rsa.pub
-rw-r--r-- 1 root root 4.0K Jan 17 07:37 known_hosts
Я скопировал содержимое id_rsa.pub
к machine2 в файл authorized_keys
в /root/.ssh
созданного мною как корень.
разрешения для каталога .ssh на machine2 следующие
drwxr-xr-x 2 root root 28 Jan 17 06:32 .
dr-xr-x---. 6 root root 4.0K Jan 17 03:28 ..
-rw-r--r-- 1 root root 414 Jan 17 06:32 authorized_keys
Теперь я попытался выполнить ssh (с подробным описанием) с machine1 на machine2, используя следующую команду. Но он по-прежнему запрашивает пароль для подключения. Я ожидаю, что соединение должно быть установлено без запроса пароля.
Я попытался изменить разрешения .ssh и authorized_keys на 700 и 600 на machine2, как предлагает SSH, запрашивает пароль, даже с открытым ключом, но проблема сохраняется.
Я дал выходные данные отладки команды ssh. Он работает, как и ожидалось, пока сервер не примет открытый ключ. После этого я замечаю, что причиной этой проблемы может быть debug1: key_parse_private2: отсутствующий маркер начала. Кто-нибудь может предложить мне выход из этой проблемы?
[root@machine1 ~]# ssh -v machine2
OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Connecting to machine2 [x.x.x.x] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: curve25519-sha256@libssh.org need=16 dh_need=16
debug1: kex: curve25519-sha256@libssh.org need=16 dh_need=16
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA X:X:X:X:....
debug1: Host 'machine2' is known and matches the RSA host key.
debug1: Found key in /root/.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: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
========================================================
| The system is to be used only by authorized users. |
| |
| By continuing to use the system, the user represents |
| that he/she is an authorized user. |
| |
| Use of the system constitutes consent to monitoring |
| and review. |
| |
| I have received, read and understand the Company's |
| Acceptable Use Policy and agree to abide by the |
| policy and its terms and conditions. |
| |
========================================================
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ed25519
debug1: Next authentication method: password
root@machine2's password: