Что такое SSH мы слава богу уже знаем и знаем как делать с помощью него туннели, но это не все что он может. В SSH есть два способа аутентификации пользователя: 1) пароль, который знаем и 2) ключ, о котором и поговорим.
Плюсы ключа выходят из минуса пароля:
1) Он прост, хоть и по шифрованному каналу
2) его все же можно перехватить
3) использование в скрипах(об этом розже)
Описание из интеренета:
Каждая пара ключей состоит из открытого и закрытого ключа. Секретный ключ сохраняется на стороне клиента и не должен быть доступен кому-либо еще. Утечка ключа позволит злоумышленнику войти на сервер, если не была настроена дополнительная аутентификация по паролю.
Нашел такую картинку, очень хорошо иллюстирующую процесс:
Перво наперво, делаем ключ:
[root@ПК ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:adW9C/air7tW6NMiSIHxrN27b0hUFfFytoM1Cj+z8BY root@homer-server
The key's randomart image is:
+---[RSA 2048]----+
| .+o |
| . .. o |
| = .o o B |
| . + .o o B + |
| o +S ..E + |
| . o.o .+.B o |
| . o + o= o |
| . + *o.. |
| .**B. |
+----[SHA256]-----+
Можно все пройти enter-ом и в конце получить ключ, который смотрим:
Приватный:
[root@ПК ~]# cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuXxDUWdZEACvPBfJZrro/1QFcUibSVx+ZqA+0WbPmYsq7P7I
pRzsAR9IW3xsdDMM+pzPNPsLwQZsiuIKYI9Xdtg+DgpoGgmhSxB3LwrC8IqNodPA
zFQSNNR/w7ayKklrQreHu40/P/EfY0pb/DbNURYcJKHPjwW2AKpQYIYScoOaYXiN
bf7/orjUqadsrqJbCOe/VgruL3YAAaBfgtk87EMsd3T2ic9qlG0s05fRAB5AwRkE
W9IfWraxV1u1vyfSA9uxP9A/W5hv7dlsVMhZiVRGIFyvB97Z3p7vFOw4bze/nLXr
ZUS2rpm0XtVoCIOiEwrBWK1J7BZkltGjdHtw+wIDAQABAoIBAHHF1ejtsoSNVu9O
S9w2k8phuEDnX1Ddai765e092eL9qSPbmCknF2AM1y4+oKuZ0ME8RCDkSC5rCVMb
GXBnHCgqtc2Y9ofaFlRb0i9Js48l/YAgyebLPqunGINs4dXsWN2Ag8I3/m7zMOSP
bOLEnqW5ISQbGJxKzXuU/F5ofpI8N6uYqidW7j/YOo+r8EiDfz+850t6SSQ1A6Vn
8gVcjKQUIuHjEBd1TJ07Y+Yxaсчс56JBqWZl5V+layRyZSkIS45AKvuCtVNMIHTC
EwTgaD5Gghcxkak9XQBtR8WpWPAu+BOo72H4WhgIF6Mj06pM7TT9kVO7C4Ajr3am
ctwPRekCgYEA9pd5KvitlhQb9mzushNPECnI2m8j3CPLODtLhFjdFJoxMJ3XtEYI
KXOoXgn4YChy70CZFwANdFYquHn8viE9t27HKsyt3gHJo8ZuO/M7DKlf8CD/cplL
42o5CC/WPCtbXviV2ZIgAp9gzPs8YVzBNXoPBNpaT2j+77ldq7/yK3UCgYEAwI/y
wF8wBP1zRifx6QxJuO8HG7fPw87CcInxfRBUbCBd8F/Liz4LW1Lpstb2YC4dl/qm
Bk8k87vvwJUX8AKm6HDsMXKOhzD6RoqBoEDsohxDlLiR3WEwDgmzkzWMfviu9p+s
el/B7ImiBXv3Yvw5y4saEqyLAw0CVDZpn0jFTK8CgYBfmdogDsk9pg4xO4pO/61n
VsvH487DSh0/b72XUdxkYGMxtgAqo/wGFhDwZG0m2oe0uhagFCUjNUTawHB8Rebn
dstAjJnbuFW0aPnTxDjgb8oCDsj6ZPRG9qelxOYJ7cU+zKFL+JrwaVneHokKNiux
z+CCwSTCJLKxvevS6le5AQKBgEVo3cCXzxBNZ2rHZTxy0HQXvMEx/XMAKTg1kNVa
uIONGy9U6GKVh7Rwa4qqT36VwNcSYxvtFU3B1YbedxVtb0pjwc+FEnkKn3wj2tuv
61v3wihuay2YJaE5v//1EmKGM1L0dVBbCeTAK6W8bIzCi/ahelF23ljILKm8P1BK
A8xDAoGAPB+YW9XmHvWPjR1NHkZqSGcjVhg6hsyJ5fw634RR3SmGhL/Jwknm7cTn
avhGKBBT5U0raJ0mWbMkFpyQcijwZCnwoxJQTupHuoJwqioopxoSFXDCxSjG22OI
LKLTjgkjGRvr6ev1lBh9cRJRVlSDgeV9Ewpwpby0DzAWQg0xHlA=
-----END RSA PRIVATE KEY-----
[root@ПК ~]#
Публичный:
[root@homer-server ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5fENRZ1kQAK88F8lmuuj/VAVxSJtJXH5moD7RZs+Ziyrs/silHOwBH0hbfGx0Mwz6nM80+wvBBmyK4gpgj1d22D4OCmgaCaFLEHcvCsLwio2h08DMVBI01H/DtrIqSWtCt4e7jT8/8R9jSlv8Ns1RРрFhwkoc+PBbYAqlBghhJyg5pheI1t/v+iuNSpp2yuolsI579WCu4vdgABoF+C2TzsQyx3dPaJz2qUbSzTl9EAHkDBGQRb0h9atrFXW7W/J9ID27E/0D9bmG/t2WxUyFmJVEYgXK8H3tnenu8U7DhvN7+ctetlRLaumbRe1WgIg6ITCsFYrUnsFmSW0aN0e3D7 root@ПК
[root@ПК ~]#
Вцелом, по сути мы и закончили))
Осталось копирнуть ключ на удаленный сервер и все само по себе заработает:
ssh-copy-id {user}@{ip-remote-server}
Если все сделали правильно, то вы увидите нечто вроде, разумеется после ввода пароля:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys{user}@{ip-remote-server}'s password:
Number of key(s) added: 1
И теперь пробуем логинится и вуаля мы прошли без пароля, это и безопаснее и удобнее.
В двух словах о скриптах, если есть скрипты на бэкап, то самое то, когда запускаете их с сервера и этот сервер может конектится на другие без аутентификации на все остальные и это только одно их многих применений доступа по ключам.
А если вдруг не вышло, и выдало нечто похожее, то есть такое заклятие на клиентской машине:
sign_and_send_pubkey: signing failed: agent refused operation
ssh-add
Identity added: /home/cherkas/.ssh/id_rsa (/home/cherkas/.ssh/id_rsa)
Плюсы ключа выходят из минуса пароля:
1) Он прост, хоть и по шифрованному каналу
2) его все же можно перехватить
3) использование в скрипах(об этом розже)
Описание из интеренета:
Каждая пара ключей состоит из открытого и закрытого ключа. Секретный ключ сохраняется на стороне клиента и не должен быть доступен кому-либо еще. Утечка ключа позволит злоумышленнику войти на сервер, если не была настроена дополнительная аутентификация по паролю.
Нашел такую картинку, очень хорошо иллюстирующую процесс:
Перво наперво, делаем ключ:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:adW9C/air7tW6NMiSIHxrN27b0hUFfFytoM1Cj+z8BY root@homer-server
The key's randomart image is:
+---[RSA 2048]----+
| .+o |
| . .. o |
| = .o o B |
| . + .o o B + |
| o +S ..E + |
| . o.o .+.B o |
| . o + o= o |
| . + *o.. |
| .**B. |
+----[SHA256]-----+
Можно все пройти enter-ом и в конце получить ключ, который смотрим:
Приватный:
[root@ПК ~]# cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAuXxDUWdZEACvPBfJZrro/1QFcUibSVx+ZqA+0WbPmYsq7P7I
pRzsAR9IW3xsdDMM+pzPNPsLwQZsiuIKYI9Xdtg+DgpoGgmhSxB3LwrC8IqNodPA
zFQSNNR/w7ayKklrQreHu40/P/EfY0pb/DbNURYcJKHPjwW2AKpQYIYScoOaYXiN
bf7/orjUqadsrqJbCOe/VgruL3YAAaBfgtk87EMsd3T2ic9qlG0s05fRAB5AwRkE
W9IfWraxV1u1vyfSA9uxP9A/W5hv7dlsVMhZiVRGIFyvB97Z3p7vFOw4bze/nLXr
ZUS2rpm0XtVoCIOiEwrBWK1J7BZkltGjdHtw+wIDAQABAoIBAHHF1ejtsoSNVu9O
S9w2k8phuEDnX1Ddai765e092eL9qSPbmCknF2AM1y4+oKuZ0ME8RCDkSC5rCVMb
GXBnHCgqtc2Y9ofaFlRb0i9Js48l/YAgyebLPqunGINs4dXsWN2Ag8I3/m7zMOSP
bOLEnqW5ISQbGJxKzXuU/F5ofpI8N6uYqidW7j/YOo+r8EiDfz+850t6SSQ1A6Vn
8gVcjKQUIuHjEBd1TJ07Y+Yxaсчс56JBqWZl5V+layRyZSkIS45AKvuCtVNMIHTC
EwTgaD5Gghcxkak9XQBtR8WpWPAu+BOo72H4WhgIF6Mj06pM7TT9kVO7C4Ajr3am
ctwPRekCgYEA9pd5KvitlhQb9mzushNPECnI2m8j3CPLODtLhFjdFJoxMJ3XtEYI
KXOoXgn4YChy70CZFwANdFYquHn8viE9t27HKsyt3gHJo8ZuO/M7DKlf8CD/cplL
42o5CC/WPCtbXviV2ZIgAp9gzPs8YVzBNXoPBNpaT2j+77ldq7/yK3UCgYEAwI/y
wF8wBP1zRifx6QxJuO8HG7fPw87CcInxfRBUbCBd8F/Liz4LW1Lpstb2YC4dl/qm
Bk8k87vvwJUX8AKm6HDsMXKOhzD6RoqBoEDsohxDlLiR3WEwDgmzkzWMfviu9p+s
el/B7ImiBXv3Yvw5y4saEqyLAw0CVDZpn0jFTK8CgYBfmdogDsk9pg4xO4pO/61n
VsvH487DSh0/b72XUdxkYGMxtgAqo/wGFhDwZG0m2oe0uhagFCUjNUTawHB8Rebn
dstAjJnbuFW0aPnTxDjgb8oCDsj6ZPRG9qelxOYJ7cU+zKFL+JrwaVneHokKNiux
z+CCwSTCJLKxvevS6le5AQKBgEVo3cCXzxBNZ2rHZTxy0HQXvMEx/XMAKTg1kNVa
uIONGy9U6GKVh7Rwa4qqT36VwNcSYxvtFU3B1YbedxVtb0pjwc+FEnkKn3wj2tuv
61v3wihuay2YJaE5v//1EmKGM1L0dVBbCeTAK6W8bIzCi/ahelF23ljILKm8P1BK
A8xDAoGAPB+YW9XmHvWPjR1NHkZqSGcjVhg6hsyJ5fw634RR3SmGhL/Jwknm7cTn
avhGKBBT5U0raJ0mWbMkFpyQcijwZCnwoxJQTupHuoJwqioopxoSFXDCxSjG22OI
LKLTjgkjGRvr6ev1lBh9cRJRVlSDgeV9Ewpwpby0DzAWQg0xHlA=
-----END RSA PRIVATE KEY-----
[root@ПК ~]#
Публичный:
[root@homer-server ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5fENRZ1kQAK88F8lmuuj/VAVxSJtJXH5moD7RZs+Ziyrs/silHOwBH0hbfGx0Mwz6nM80+wvBBmyK4gpgj1d22D4OCmgaCaFLEHcvCsLwio2h08DMVBI01H/DtrIqSWtCt4e7jT8/8R9jSlv8Ns1RРрFhwkoc+PBbYAqlBghhJyg5pheI1t/v+iuNSpp2yuolsI579WCu4vdgABoF+C2TzsQyx3dPaJz2qUbSzTl9EAHkDBGQRb0h9atrFXW7W/J9ID27E/0D9bmG/t2WxUyFmJVEYgXK8H3tnenu8U7DhvN7+ctetlRLaumbRe1WgIg6ITCsFYrUnsFmSW0aN0e3D7 root@ПК
[root@ПК ~]#
Вцелом, по сути мы и закончили))
Осталось копирнуть ключ на удаленный сервер и все само по себе заработает:
ssh-copy-id {user}@{ip-remote-server}
Если все сделали правильно, то вы увидите нечто вроде, разумеется после ввода пароля:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys{user}@{ip-remote-server}'s password:
Number of key(s) added: 1
И теперь пробуем логинится и вуаля мы прошли без пароля, это и безопаснее и удобнее.
В двух словах о скриптах, если есть скрипты на бэкап, то самое то, когда запускаете их с сервера и этот сервер может конектится на другие без аутентификации на все остальные и это только одно их многих применений доступа по ключам.
А если вдруг не вышло, и выдало нечто похожее, то есть такое заклятие на клиентской машине:
sign_and_send_pubkey: signing failed: agent refused operation
ssh-add
Identity added: /home/cherkas/.ssh/id_rsa (/home/cherkas/.ssh/id_rsa)
Все спасибо!
Комментариев нет:
Отправить комментарий