Все, що вам потрібно зробити, - це створити на вашому ПК пару приватних / відкритих ключів, скопіювати відкритий ключ на сервер і потім підключитися. Це можна зробити, запустивши ssh-keygen -t rsa
на локальній машині. Вихід буде аналогічним нижче:
td512@kettecomp2:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/td512/.ssh/id_rsa):
Created directory '/home/td512/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/td512/.ssh/id_rsa.
Your public key has been saved in /home/td512/.ssh/id_rsa.pub.
The key fingerprint is:
f9:cd:fe:c1:77:90:40:34:9c:34:cb:f6:2c:cc:32:6a td512@kettecomp2
The key's randomart image is:
+--[ RSA 2048]----+
| +*. |
| oo+ |
| = |
| . + + . |
| S o + = |
| o = o . |
| E . o o o|
| . . o.|
| ... |
+-----------------+
td512@kettecomp2:~$
Після цього потрібно скопіювати відкритий ключ на сервер. Мій улюблений спосіб - відкрити відкритий ключ ssh в textedit і скопіювати його. Ключ можна знайти ~/.ssh/id_rsa.pub
там, де ~
позначає ваш домашній каталог.
Після копіювання у буфер обміну, ssh на сервер та запустіть цю команду (будьте обережні, щоб не копіювати + вставити, оскільки у вашому буфер обміну вже є відкритий ключ):
cd && mkdir .ssh && chmod 700 .ssh && touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys && nano .ssh/autorized_keys
Вищевказаний код створить необхідний каталог і файл, а потім зробить їх потрібними правами. після чого ви повинні мати nano
відкриті. Вставте свій відкритий ключ, натисніть Ctrl+ Xскажіть "так" у підказках, а потім вийдіть із ssh.
Наступна частина - реалізація вашого коду. Це можна зробити так:
diff foo <(ssh myServer -l user -i .ssh/id_rsa 'cat foo')
де user
ваше ім’я для сервера і .ssh/id_rsa
ваш приватний ключ. Це повинно зупинити підказки пароля.