Я зазвичай підключаюся до віддаленого сервера
ssh user@server.com -p 11000
а потім щоразу надаючи пароль користувачеві. Як мені уникати введення пароля кожного разу, коли я підключаюсь за допомогою ssh?
Я зазвичай підключаюся до віддаленого сервера
ssh user@server.com -p 11000
а потім щоразу надаючи пароль користувачеві. Як мені уникати введення пароля кожного разу, коли я підключаюсь за допомогою ssh?
Відповіді:
Спочатку поставте це ~/.ssh/config
:
Host server
HostName server.com
Port 11000
User user
Ви зможете ssh server
, а потім введіть пароль.
По-друге , перевірте, чи є у ~/.ssh/
вас імена файлів id_rsa
і id_rsa.pub
. Якщо ні, у вас немає налаштованого ключа, тому вам доведеться створити пару за допомогою ssh-keygen
. Ви можете дати ключам пароль чи ні. Згенерований файл id_rsa.pub
повинен виглядати приблизно так:
ssh-rsa lotofrandomtext user @ local
По-третє , ssh на сервері, створіть файл, ~/.ssh/authorized_keys
якщо його не існує. Потім додайте ~/.ssh/id_rsa.pub
сюди вміст, який ви створили раніше. Це може означати копіювання вмісту файлу у буфер обміну, а потім відкриття ~/.ssh/authorized_keys
в текстовому редакторі та вставлення речі.
Крім того, використовуйте команду ssh-copy-id server
(замініть server
ім'я в ~/.ssh/config
). Це зробить те саме, що і вище. Часом я бачив ssh-copy-id
застрявання, тому мені це не дуже подобається.
Тепер ви можете мати можливість ssh просто ssh server
, якщо ви не вирішили захистити свій приватний ключ парольною фразою. Як правило, якщо ви не використовуєте пароль, вам слід захистити свій приватний ключ іншими способами (наприклад, повним шифруванням диска).
По-четверте (потрібне лише якщо ви захищаєте свій приватний ключ за допомогою парольної фрази), введіть це~/.bashrc
:
start_ssh_agent() {
# Try to use an existing agent
save=~/.ssh-agent
if [[ -e "$save" ]]
then
. "$save" > /dev/null
fi
# No existing agent, start a new one
if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
then
ssh-agent > "$save"
. "$save" > /dev/null
ssh-add
fi
}
start_ssh_agent
З цим вам потрібно буде вводити парольну фразу лише один раз під час завантаження комп'ютера.
User user
рядок до ~/.ssh/config
.
Перейдіть до аутентифікації на основі ключів .
ssh -P 11000
мене вдалося скопіювати з ssh. Велике дякую.
Як доповнення до відповіді phunehehe, перегляньте посібник із брелоків для брелоків у Gentoo Linux . брелок також використовує ssh-агент . Демон ssh-агента робить доступною парольною фразою (стає недоступною, коли демон-ssh-агент помирає), але брелок , щоб процитувати керівництво.reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in