Я обычно подключаюсь к удаленному серверу с
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, чтобы процитировать руководство.