Ви можете робити і те, і інше.
а) більше клавіш
Ви можете піти далі і створити ключі на machine1
і скопіювати відкритий ключ machine2
«s /home/yourusername/.ssh/authorized_keys
файл.
Якщо ви не вирішите альтернативу нижче, я б запропонував цей метод. Якщо хто - то отримує свій секретний ключ для machine2
на machine1
, він по- , як і раніше не має свій секретний ключ на ваш клієнт для machine1
.
б) той самий ключ
Ви також можете взяти відкритий ключ, який ви скопіювали, machine1
і надіти його machine2
. У цьому випадку, ви повинні скопіювати закритий ключ machine1
успішно SSH від machine1
до machine2
.
Я б не рекомендував цього, оскільки ваш єдиний, лише приватний ключ тепер доступний у віддаленій системі.
Альтернатива
в) ProxyCommand
Зберігайте приватний ключ приватно на своєму клієнті. Копіюйте відкритий ключ на кожну машину /home/yourusername/.ssh/authorized_keys
. На вашому клієнті налаштуйте /home/yourusername/.ssh/config
(якщо ви використовуєте Linux на своєму клієнті):
Host machine1
HostName machine1.domain.tld
Port 22 # or whichever port that is in your scenario
User yourusername
IdentityFile ~/.ssh/machine1privatekey
Host machine2
HostName hostname # resolves in the local network? If not, give its IP address here
Port 22
User yourusername
IdentityFile ~/.ssh/machine1privatekey # the same as above
ProxyCommand ssh -W machine2:22 machine1
У цьому випадку простий ssh machine2
підключить вас до machine2 через machine1 без необхідності спочатку ssh до machine1, а потім вручну ssh до machine2.
Додаткова перевага: ваш приватний ключ повинен сидіти лише на вашому клієнті, а не на віддаленій системі.
Редагувати:
г) переадресація агента SSH
Ви, ймовірно, можете зберігати як приватні ключі для, так machine1
і machine2
для свого клієнта, і використовувати пересилання перекладу ssh для machine1
пересилання вашого приватного ключа від клієнта до machine2
. Це вважається ризикованим , і я його не використовую, але це має бути щось у цьому напрямку:
$ ssh-agent /bin/bash
$ ssh-add ~/.ssh/machine*privatekey
$ ssh -A -p 22 yourusername@machine1.domain.tld 'ssh -p 22 yourusernameqmachine2'