public_key » Revisions »
Differences
This shows you the differences between the selected revisions of the page.
public_key 2010-01-22 | public_key 2023-08-01 (current) | ||
Line 1: | Line 1: | ||
====== Using Public Keys for Authentication ====== | ====== Using Public Keys for Authentication ====== | ||
- | //This article explains public key authentication in general. You may want to see guide to [[guide_public_key|setting up public·key authentication]] instead.// | + | //This article explains public key authentication in general. You may want to see the guide to [[guide_public_key|setting up public-key authentication]] instead.// |
- | Введение ===== ===== | + | //Do not confuse your user key pair used for authentication with [[ssh_verifying_the_host_key|host public key verification]]. Learn about [[ssh_keys|all SSH key types]].// |
- | Аутентификации по публичному ключу является альтернативным средством идентификации себя Логин сервер, вместо ввода пароля. Это более безопасной и более гибкой, но сложнее в настройке. | + | ===== Introduction ===== |
- | В обычной проверки подлинности пароля, вы доказать, что вы, кто вы утверждать, что, доказав, что вы знаете правильный пароль. Единственный способ доказать, что вы знаете пароль, чтобы указать серверу, что вы думаете пароль. Это означает, что если сервер был взломан или поддельный, злоумышленник может узнать Ваш пароль. | + | Public key authentication is an alternative means of identifying yourself to a login server, instead of typing a password. It is more secure and more flexible, but more difficult to set up. |
- | Аутентификации по публичному ключу решает эту проблему. Вы [[public_key # генерировать | создать пару ключей]], состоящее из открытых ключей (которой все позволено знать) и закрытый ключ (который вы держать в тайне и не давать кому-либо). Закрытый ключ способна генерировать подписей. Подписи, созданной с помощью частного ключа не может быть достигнут путем кто не имеет этой ключевой, но всех, кто имеет свой публичный ключ может проверить, что конкретно является подлинной подписи. | + | In conventional password authentication, you prove you are who you claim to be by proving that you know the correct password. The only way to prove you know the password is to tell the server what you think the password is. This means that if the server has been hacked, or spoofed, an attacker can learn your password. |
- | Таким образом, вы генерировать пары ключей на вашем собственном компьютере и скопировать публичный ключ на сервер под определенным именем. Затем, когда сервер попросит Вас, чтобы доказать, кто ты, WinSCP может генерировать подписи с использованием закрытого ключа. Сервер может проверить, что подпись (поскольку оно имеет ваш открытый ключ) и позволяет вам войти Теперь, если сервер взломали или поддельный, злоумышленник не получите ваш личный ключ или пароль, они только выиграют одной подписи. И подписи не могут быть использованы повторно, так что они ничего не приобрели. | + | Public key authentication solves this problem. You [[#generate|generate a key pair]], consisting of a public key (which everybody is allowed to know) and a private key (which you keep secret and do not give to anybody). The private key is able to generate signatures. A signature created using your private key cannot be forged by anybody who does not have that key; but anybody who has your public key can verify that a particular signature is genuine.· |
- | Существует проблема с этим: если Ваш [[public_key # частных | частного ключа]] хранятся незащищенными на вашем компьютере, то любой, кто получает доступ к которой будут иметь возможность создавать подписей, как если бы они были вам. Так они смогут войти на сервер под Вашей учетной записи. По этой причине ваш секретный ключ зашифрован, как правило, когда оно хранится на локальном компьютере, с использованием пароля по вашему выбору. В целях создания подписи, должна WinSCP расшифровать ключ, поэтому вы должны ввести идентификационную фразу. | + | So you generate a key pair on your own computer, and you copy the public key to the server under a certain name. Then, when the server asks you to prove who you are, WinSCP can generate a signature using your private key. The server can verify that signature (since it has your public key) and allow you to log in. Now if the server is hacked or spoofed, the attacker does not gain your private key or password; they only gain one signature. And signatures cannot be re-used, so they have gained nothing.· |
- | Это можно сделать с открытым ключом аутентификации менее удобным, чем проверка подлинности пароля: каждый раз, когда вы войти на сервер, вместо того чтобы набирать короткий пароль, вы должны набрать больше фразу. Одним из решений этой проблемы является использование аутентификации агента, отдельная программа, которая держит расшифрованы закрытых ключей подписи и создает по запросу. WinSCP можете использовать аутентификацию агент PuTTY под названием [[& pageanthelp | Pageant]]. Когда вы начинаете сессию Windows, вы начинаете зрелище, и загрузить ваш частный ключ в его (ввод пароля один раз). Для остальной части сессии, вы можете начать WinSCP любое количество раз и Pageant будет автоматически генерировать подписи не требуя ничего делать. Когда вы закроете Windows сессии Pageant выключается, без какого либо хранятся расшифровать закрытый ключ на диске. Многие люди чувствуют, что это хороший компромисс между безопасностью и удобством. | + | There is a problem with this: if your [[#private|private key]] is stored unprotected on your own computer, then anybody who gains access to that will be able to generate signatures as if they were you. So they will be able to log in to your server under your account. For this reason, your private key is usually encrypted when it is stored on your local machine, using a passphrase of your choice. In order to generate a signature, WinSCP must decrypt the key, so you have to type your passphrase. |
- | Существует более одного публичного ключа алгоритма доступен. Наиболее распространенным является RSA, а другие существуют, в частности, суточные (иначе известная как DSS), в США Федеральная Digital Signature Standard. ((&·puttydoccite)) | + | This can make public-key authentication less convenient than password authentication: every time you log in to the server, instead of typing a short password, you have to type a longer passphrase. One solution to this is to use an authentication agent, a separate program which holds decrypted private keys and generates signatures on request. WinSCP can use PuTTY's authentication agent, called [[ui_pageant|Pageant]]. When you begin a Windows session, you start Pageant and load your private key into it (typing your passphrase once). For the rest of your session, you can start WinSCP any number of times and Pageant will automatically generate signatures without you having to do anything. When you close your Windows session, Pageant shuts down, without ever having stored your decrypted private key on disk. Many people feel this is a good compromise between security and convenience. |
+ | |||
+ | There is more than one public-key algorithm available. The most common are RSA and ECDSA, but others exist, notably DSA (otherwise known as DSS), the USA's federal Digital Signature Standard. ((&puttydoccite)) | ||
===== [[generate]] Generating Keys ===== | ===== [[generate]] Generating Keys ===== | ||
To generate a key pair, use the [[ui_puttygen|PuTTYgen]] application. | To generate a key pair, use the [[ui_puttygen|PuTTYgen]] application. | ||
+ | |||
+ | You can start PuTTYgen directly from [[ui_login_authentication|Authentication page]] of Advanced Site Settings dialog. If you start PuTTYgen this way, WinSCP will automatically pick up the generated key. | ||
===== [[private]] Private Keys ===== | ===== [[private]] Private Keys ===== | ||
- | Different file formats are used to store SSH-1 and SSH-2 private keys. While there is only one commonly used format for SSH-1 keys, there are several formats used for SSH-2 keys. WinSCP supports PuTTY format, as authors of PuTTY [[&url(keyformat)|claim that it is the best one]]. | + | Different file formats are used to store SSH private keys. WinSCP supports PuTTY format, as authors of PuTTY [[&url(keyformat)|claim that it is the best one]]. |
- | WinSCP also recognises (but does not accept) the other two formats (OpenSSH and ssh.com), so it can suggest you to convert them. To convert the key file use [[ui_puttygen|PuTTYgen]] application. | + | WinSCP also recognizes (but does not accept) the other two formats (OpenSSH and ssh.com), and it can convert the keys to PuTTY format for you. To convert the key file you can also use ''[[commandline#keygen|/keygen]]'' command-line switch or [[ui_puttygen|PuTTYgen]] application. |