удаленный сервер ssh на некотором порте кроме 22 без пароля

Смотрите на history-expand-line команда, связанная с Alt+^ по умолчанию. Это развернет строку, оперативную, который можно затем отредактировать.

16
28.03.2011, 21:44
3 ответа

Во-первых, вставьте это ~/.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 только с 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

С этим необходимо будет только ввести пароль однажды на загрузку компьютера.

23
27.01.2020, 19:48
  • 1
    'Рассказ' должен также включать обсуждение того, как постараться не вводить тот противный пароль все время. :-) ssh-агент и/или связка ключей являются возможностями рассмотреть. –  Faheem Mitha 28.03.2011, 19:18
  • 2
    Кроме того, если Ваше имя пользователя на удаленном хосте не является тем же как Вашим именем пользователя на локальном хосте, можно добавить a User user строка к ~/.ssh/config. –  cjm 28.03.2011, 20:40
  • 3
    @Faheem Это хорошо, но я никогда не настраивал такую вещь, таким образом, я не думаю, что имею возможность сообщать другим об этом :) –  phunehehe 29.03.2011, 04:35
  • 4
    @FaheemMitha там, Вы идете :) –  phunehehe 04.09.2014, 20:23
  • 5
    Эй, лучше поздно, чем никогда. –  Faheem Mitha 05.09.2014, 00:46
7
27.01.2020, 19:48
  • 1
    за предложение. Я смотрел на форумы, но имел проблему с портом (11000 вместо 22). С ssh -P 11000 Я смог скопировать с ssh.Большое спасибо. –  Prabesh Shrestha 28.03.2011, 18:54

Как дополнение к ответу phunehehe, см. хинду Руководство Связки ключей Linux для руководства по связке ключей. связка ключей также использует ssh-агент. Демон ssh-агента делает пароль доступным (это становится недоступным, когда демон ssh-агента умирает), но связка ключей reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in, заключить руководству в кавычки.

4
27.01.2020, 19:48

Теги

Похожие вопросы