Я обычно подключаюсь к удаленному серверу с
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 lotsofrandomtext user @ local
В-третьих , ssh на сервер, создайте файл, ~/.ssh/authorized_keys
если он не существует. Затем добавьте содержимое ~/.ssh/id_rsa.pub
сгенерированного ранее здесь. Это может означать копирование содержимого файла в буфер обмена, затем открытие ~/.ssh/authorized_keys
в текстовом редакторе и вставку.
Или используйте команду ssh-copy-id server
(замените server
на имя в ~/.ssh/config
). Это будет делать то же самое, что и выше. Временами я видел ssh-copy-id
застревание, поэтому мне это не очень нравится.
Теперь вы сможете использовать ssh с помощью just 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-agent . Демон ssh-agent делает парольную фразу доступной (она становится недоступной, когда демон ssh-agent умирает), но связку ключей reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in
, чтобы процитировать руководство.