Если вы хотите получить какой-либо пакет непосредственно из репозитория, вы можете использовать wget, но на http://library.linode.com, нет репозитория.
Так что просто обновите ресурсы, используя:
sudo apt-get update
Если вы хотите добавить другой репозиторий, используйте:
sudo add-apt-repository ppa:repository_name
. Вы можете установить пакет просто:
sudo apt-get install nginx
Чтобы проверить состояние nginx, сделайте a:
sudo service nginx status
#PasswordAuthentication yes
замените ее на строку, которая выглядит так: PasswordAuthentication no
После того, как вы сохранили файл и перезапустили свой SSH-сервер, вас даже не спрашивают для пароля при входе в систему. https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
#PasswordAuthentication yes
замените ее на строку, которая выглядит так: PasswordAuthentication no
После того, как вы сохранили файл и перезапустили свой SSH-сервер, вас даже не спрашивают для пароля при входе в систему. https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
#PasswordAuthentication yes
заменить ее на строку, которая выглядит следующим образом: PasswordAuthentication no
после того как вы сохранили файл и перезапустить ваш сервер SSH, Вы не должны быть предложено для пароля при входе в систему. https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
#PasswordAuthentication yes
замените ее на строку, которая выглядит так: PasswordAuthentication no
После того, как вы сохранили файл и перезапустили свой SSH-сервер, вас даже не спрашивают для пароля при входе в систему. https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
Отключить аутентификацию паролей
Поскольку многие люди с SSH-серверами используют слабые пароли, многие онлайн-злоумышленники будут искать SSH-сервер, а затем начнут угадывать пароли наугад. Злоумышленник может пробовать тысячи паролей через час и угадывать даже самый сильный пароль, заданный достаточно времени. Рекомендуемым решением является использование ключей SSH вместо паролей. Чтобы как можно догадаться, как обычный SSH-ключ, пароль должен содержать 634 случайных буквы и цифры. Если вы всегда сможете войти на свой компьютер с помощью SSH-ключа, вы должны полностью отключить аутентификацию пароля.
Если вы отключите аутентификацию по паролю, можно будет только подключиться с компьютеров, которые у вас есть утвержден. Это значительно улучшает вашу безопасность, но делает невозможным подключение к вашему компьютеру с компьютера друга без предварительного одобрения ПК или с вашего собственного ноутбука при случайном удалении ключа.
Рекомендуется чтобы отключить аутентификацию паролей, если у вас нет конкретной причины.
Чтобы отключить аутентификацию пароля, найдите следующую строку в файле sshd_config:
#PasswordAuthentication yes
замените его строкой, которая выглядит так:
PasswordAuthentication no
После того, как вы сохранили файл и перезапустили его ваш SSH-сервер, вам не нужно даже запрашивать пароль при входе в систему.
blockquote>https://help.ubuntu.com/community/SSH/OpenSSH/Configuring # отключить-пароль аутентификации
Отключить аутентификацию паролей
Поскольку многие люди с SSH-серверами используют слабые пароли, многие онлайн-злоумышленники будут искать SSH-сервер, а затем начнут угадывать пароли наугад. Злоумышленник может пробовать тысячи паролей через час и угадывать даже самый сильный пароль, заданный достаточно времени. Рекомендуемым решением является использование ключей SSH вместо паролей. Чтобы как можно догадаться, как обычный SSH-ключ, пароль должен содержать 634 случайных буквы и цифры. Если вы всегда сможете войти на свой компьютер с помощью SSH-ключа, вы должны полностью отключить аутентификацию пароля.
Если вы отключите аутентификацию по паролю, можно будет только подключиться с компьютеров, которые у вас есть утвержден. Это значительно улучшает вашу безопасность, но делает невозможным подключение к вашему компьютеру с компьютера друга без предварительного одобрения ПК или с вашего собственного ноутбука при случайном удалении ключа.
Рекомендуется чтобы отключить аутентификацию паролей, если у вас нет конкретной причины.
Чтобы отключить аутентификацию пароля, найдите следующую строку в файле sshd_config:
#PasswordAuthentication yes
замените его строкой, которая выглядит так:
PasswordAuthentication no
После того, как вы сохранили файл и перезапустили его ваш SSH-сервер, вам не нужно даже запрашивать пароль при входе в систему.
blockquote>https://help.ubuntu.com/community/SSH/OpenSSH/Configuring # отключить-пароль аутентификации
Отключить аутентификацию паролей
Поскольку многие люди с SSH-серверами используют слабые пароли, многие онлайн-злоумышленники будут искать SSH-сервер, а затем начнут угадывать пароли наугад. Злоумышленник может пробовать тысячи паролей через час и угадывать даже самый сильный пароль, заданный достаточно времени. Рекомендуемым решением является использование ключей SSH вместо паролей. Чтобы как можно догадаться, как обычный SSH-ключ, пароль должен содержать 634 случайных буквы и цифры. Если вы всегда сможете войти на свой компьютер с помощью SSH-ключа, вы должны полностью отключить аутентификацию пароля.
Если вы отключите аутентификацию по паролю, можно будет только подключиться с компьютеров, которые у вас есть утвержден. Это значительно улучшает вашу безопасность, но делает невозможным подключение к вашему компьютеру с компьютера друга без предварительного одобрения ПК или с вашего собственного ноутбука при случайном удалении ключа.
Рекомендуется чтобы отключить аутентификацию паролей, если у вас нет конкретной причины.
Чтобы отключить аутентификацию пароля, найдите следующую строку в файле sshd_config:
#PasswordAuthentication yes
замените его строкой, которая выглядит так:
PasswordAuthentication no
После того, как вы сохранили файл и перезапустили его ваш SSH-сервер, вам не нужно даже запрашивать пароль при входе в систему.
blockquote>https://help.ubuntu.com/community/SSH/OpenSSH/Configuring # отключить-пароль аутентификации
Permission denied (publickey).
с PasswordAuthentication no
. Что мне делать? Я изменяю PasswordAuthentication no
на другом хосте?
– ParisaN
10 May 2018 в 10:22
Выполните следующие команды:
ssh-keygen
Затем вам нужно будет скопировать новый ключ к вашему серверу :
ssh-copy-id user @ host ## или если ваш сервер использует пользовательский порт no: ssh-copy-id "user @ host -p 1234 "
После копирования ключа ssh в машину как обычно:
ssh user @ host
Теперь вы можете войти без ввода пароля с определенного компьютера, на котором выполнялись команды.
not-marco @ rinzwind-desktop: ~ $ ssh-keygen Создание пары ключей public / private rsa. Введите файл для сохранения ключа (/home/not-marco/.ssh/id_rsa): Создан каталог '/home/not-marco/.ssh'. Введите парольную фразу (пустая для кодовой фразы): Введите еще одну фразу: Ваша идентификация сохранена в /home/not-marco/.ssh/id_rsa. Ваш открытый ключ был сохранен в /home/not-marco/.ssh/id_rsa.pub. Ключ отпечатка пальца: b1: 25: 04: 21: 1a: 38: 73: 38: 3c: e9: e4: 5b: 81: e9: ac: 0f not-marco @ rinzwind-desktop Случайное изображение ключа: + - [RSA 2048] ---- + | .o =. оо. | | * B. +. , | | * = o. o. | | знак равно = | |. o S | | E. | | o | | , | | | + ----------------- + not-marco @ rinzwind-desktop: ~ $ ssh-copy-id not-marco @ server not-marco @ серверный пароль: теперь попробуйте войти в машины, с «ssh 'not-marco @ server» и зайдите в: ~ / .ssh / authorized_keys, чтобы убедиться, что мы не добавили лишние ключи, которых вы не ожидали.
Предполагается, что вы уже можете успешно подключиться к вашему серверу с помощью SSH.
Вам нужно будет создать SSH Keypair, который будет позволяют вам идентифицировать вас как самостоятельно, не используя пароль. Вы можете выбрать защиту ключей с кодом доступа, если хотите, но это может быть пустым, что позволяет полностью получить доступ к SSH без пароля.
ssh-keygen
это создаст файл id_rsa
и id_rsa.pub
. Файл pub
- это то, что идет на серверах, закрытый ключ ( id_rsa
) - это то, что остается с вами, и как вы себя идентифицируете. ssh-copy-id user @ server
, заменив пользователя удаленным пользователем и сервером именем или IP-адресом компьютера. Он запросит пароль SSH, занесет его, и если все будет успешно завершено, вы сможете получить доступ к машине через ssh user @ server
без необходимости пароля. ssh-keygen
, следуя инструкциям на экране, затем введите ssh-copy-id user @ server
, заменив пользователя удаленным пользователем и сервером удаленная машина
– Marco Ceppi♦
4 June 2011 в 23:36
ssh-copy-id & quot; not-marco@127.0.0.1 -p 1234 & quot;
.
– s3m3n
19 April 2013 в 18:36
Я обычно использую sshpass для этого, устанавливаю его с помощью sudo apt-get install sshpass и использую его следующим образом
sshpass -p 'password' ssh your_username@your_server
Если вы создаете общедоступную / готовую ключевую пару и регистрируетесь с использованием нашего вновь созданного открытого ключа, вам не нужно будет вводить пароль. В зависимости от конфигурации вашего ключа и / или агента ssh вам может понадобиться защитить ваш ключ парольной фразой.
Вот один из многих коротких хаутов для вас. Для безопасности этого метода крайне важно, чтобы сгенерированный закрытый ключ оставался приватным! Вы никогда не должны делиться им с кем-либо или разрешать доступ к нему в любом качестве.
Эта команда генерирует достаточно сильный ключ в ~/.ssh/:
ssh-keygen -b 4096
В ~/.ssh/ вы найдет ваш открытый ключ как id_rsa.pub. Его содержимое должно быть добавлено к файлу вашего сервера authorized_keys путем переноса через переносимый носитель (ручный накопитель) или путем короткого включения аутентификации пароля на сервере, затем с помощью ssh-copy-id ~/.ssh/id_rsa.pub username@server, а затем снова отключите его.
Если вы решили защитить свой ключ парольной фразой (на первом шаге), вы можете использовать ssh-agent или брандмауэр Ubuntu для обеспечения безопасности этого локального локального доступа, поэтому вам не нужно вводить его все время.
[решение специально для пользователей, использующих Windows для ssh на своих удаленных машинах, включая облачные изображения на облаке AWS Cloud и GCE Cloud]
(Если это сработает для вас, вы получите высокую оценку. терпение.)
Недавно использовалось это решение для удаленного входа в систему новых развернутых изображений vm на GCE.
(у меня есть закрытый ключ)
Откройте puttygen, нажмите кнопку загрузки и выберите файл закрытого ключа (*.pem) .
(у меня нет личного ключа)
Откройте puttygen, выберите нужный тип ключа SSH2 DSA (вы можете использовать RSA или DSA) внутри раздел «Параметры» ... и важно, чтобы вы оставили поле кодовой фразы пустым, нажмите «Создать» и следуйте инструкциям для генерации пары ключей (общедоступных / частных).(из источника 1, ссылка ниже)
Скопируйте данные открытого ключа из «Открытого ключа для вставки в файл OpenSSH authorized_keys» в разделе «Генератор ключей PuTTY» и вставьте ключевые данные в « authorized_keys ".
Убедитесь, что в этом файле есть только одна строка текста.
Загрузите файл authorized_keys в домашний каталог на удаленном компьютере.
Создайте каталог .ssh (если не существует)
Скопируйте файл authorized_keys в каталог .ssh. (это заменит любой существующий файл authorized_keys, обратите внимание на это).
Если файл существует, просто добавьте содержимое этого файла в существующий файл.
Выполнить команды для установки разрешений:
$ sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
Теперь вы сможете ssh на удаленную машину без ввода учетных данных каждый раз.
Введите следующие команды:
ssh-keygen Нажмите клавишу «Ввод», пока не получите приглашение ssh-copy-id -i root@ip_address (он будет запрашивать пароль хост-системы) ssh root@ip_addressТеперь вы можете войти в систему без пароля.
Я обычно делаю это так:
ssh-keygen -t rsa
(При запросе пароля оставите его пустым)
Затем: cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> .ssh/authorized_keys'
(для этого требуется, чтобы папка .ssh находилась в домашнем каталоге на целевом имени хоста с файлом authorized_keys)
Конечно, замените имя пользователя на желаемое имя пользователя и имя хоста с желаемым именем хоста или IP-адресом
После этого просто установите SSH в это поле так же, как вы привыкли.
Я хотел бы добавить ответ для тех, кто может найти, что они должны ввести пароль, даже если они прочитали все ответы здесь, потому что вы установили IdentitiesOnly как «да». И ответ здесь может сэкономить вам много времени, чтобы управлять несколькими ключами, являясь ключами для git или сервера.
После того, как я сгенерировал ключ и скопировал его на сервер:
ssh-keygen
ssh-copy-id -i ~/.ssh/12gpu_server.pub lerner@192.168.20.160
Я обнаружил, что это не сработало.
Затем я пошел проверить файл ~/.ssh/config, я увидел это внизу:
Host *
IdentitiesOnly yes
Затем я добавляю это выше:
Host 12gpu
HostName 192.168.20.160
User lerner
IdentityFile ~/.ssh/12gpu_server
Я могу просто войти в систему, введя ssh 12gpu.
Затем вы можете добавить несколько ssh-ключей, используя ваши любимые имена, и вам нужно только добавить настройки, такие как четыре строки, в файл конфигурации.
Хост - это имя, которое вы хотите ввести при подключении сервера позже; hostName - это ip сервера; Пользователь - это имя пользователя, на котором вы заходите на сервер; и файл идентификации - это файл, в котором вы храните ключ, который вы создали.
#PasswordAuthentication yes
замените ее на строку, которая выглядит так: PasswordAuthentication no
После того, как вы сохранили файл и перезапустили свой SSH-сервер, вас даже не спрашивают для пароля при входе в систему. https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
Чтобы сделать некоторые дополнения:
Mac по умолчанию не имеет ssh-copy-id, вам придется установить его самостоятельно:curl https://raw.github.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
chmod +x /usr/local/bin/ssh-copy-id
найти здесь: https : //github.com/beautifulcode/ssh-copy-id-for-OSX
Mac по умолчанию не имеет ssh-copy-id, вам придется установить его самостоятельно:curl https://raw.github.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
chmod +x /usr/local/bin/ssh-copy-id
отметить, что необходимы кавычки.
Приложения ssh и scp для удаленного входа и удаленной копии, соответственно, позволяют вам связываться с удаленным хостом без указания пароля. Это требует, чтобы вы выполняли процедуру аутентификации, подобную процедуре, описанной ниже. Под клиентом мы подразумеваем машину, на которой вы сидите, и по серверу мы имеем в виду машину, на которую вы хотите войти, не указав пароль. Шаги процедуры аутентификации:
Запустите ssh-keygen для создания закрытых и открытых ключей, если это уже не сделано на вашем компьютере. Они хранятся в файлах в $HOME/.ssh. Добавить содержимое файла открытого ключа в файл $HOME/.ssh/authorized_keys или $HOME/.ssh/authorized_keys2 на сервере.Существует три разных типа протоколов аутентификации. Вы указываете тип при запуске ssh-keygen:
Запустите ssh-keygen для создания закрытых и открытых ключей, если это уже не сделано на вашем компьютере. Они хранятся в файлах в $HOME/.ssh. Протокол SSH версии 1, RSA: это получается при запуске ssh-keygen -t rsa и приводит к файлам id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ) Добавить содержимое файла открытого ключа в файл $HOME/.ssh/authorized_keys или $HOME/.ssh/authorized_keys2 на сервере.При запуске ssh-keygen вы можете полагаться на ответы по умолчанию (подразумевая, что вы делаете не давать кодовую фразу). Это делает всю настройку простой, но также небезопасной.
Вы можете указать тип ключей, которые будут использоваться опцией ssh; ssh -1 принудительно использует ключи RSA1 (протокол версии 1), тогда как ssh -2 заставляет ssh использовать только RSA или DSA-ключи (протокол версии 2). В приведенных ниже примерах мы создаем и устанавливаем ключи RSA1 и DSA на удаленном хосте, чтобы у вас было больше гибкости. Вы можете сделать конфигурационный файл в каталоге .ssh с помощью строки
Protocol 1,2
Это делает ssh попыткой подключения RSA1 (протокол версии 1) до RSA1 [ ! d20] (протокол версии 2).
remote=user@remotehost # fill in correct user and remotehost names
cd $HOME/.ssh
# create .ssh on remote host if it is non-existing:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy RSA1 key:
scp identity.pub ${remote}:.ssh
ssh $remote "cd .ssh; cat identity.pub >> authorized_keys"
remote=user@remotehost # fill in correct user and remotehost names
cd $HOME/.ssh
# create .ssh on remote host if it is non-existing:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy DSA key:
scp id_dsa.pub ${remote}:.ssh
ssh $remote "cd .ssh; cat id_dsa.pub >> authorized_keys2"
Это все, что вам нужно сделать, если вы не использовали кодовую фразу при создании ключей. Вы можете проверить соединение, запустив ssh $ remote и посмотреть, можете ли вы войти в систему, не указывая пароль (возможно, вам нужно будет использовать -1 или -2 как опции для RSA1 ). Процедуру можно, конечно, повторить для любой машины, на которую вы хотите войти.
Если вы использовали кодовую фразу, вам нужно будет запустить программу ssh-agent, чтобы запустить специальную оболочку, за которой следует ssh-add, чтобы зарегистрировать комбинацию RSA1 с sshd.
#!/bin/sh
# create ssh connections without giving a password
if [ $# -lt 1 ]; then
echo Usage: $0 username@remotehost
exit
fi
remote="$1" # 1st command-line argument is the user@remotehost address
this=$HOST # name of client host
# first check if we need to run ssh-keygen for generating
# $HOME/.ssh with public and private keys:
if [ ! -d $HOME/.ssh ]; then
echo "just type RETURN for each question:" # no passphrase - unsecure!!
# generate RSA1, RSA and DSA keys:
echo; echo; echo
ssh-keygen
echo; echo; echo
ssh-keygen -t rsa
echo; echo; echo
ssh-keygen -t dsa
else
# we have $HOME/.ssh, but check that we have all types of
# keys (RSA1, RSA, DSA):
if [ ! -f $HOME/.ssh/identity ]; then
# generate RSA1 keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen
fi
if [ ! -f $HOME/.ssh/id_rsa ]; then
# generate RSA keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen -t rsa
fi
if [ ! -f $HOME/.ssh/id_rsa ]; then
# generate DSA keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen -t dsa
fi
fi
cd $HOME/.ssh
if [ ! -f config ]; then
# make ssh try ssh -1 (RSA1 keys) first and then ssh -2 (DSA keys)
echo "Protocol 1,2" > config
fi
# copy public keys (all three types) to the destination host:
echo; echo; echo
# create .ssh on remote host if it's not there:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy RSA1 key:
scp identity.pub ${remote}:.ssh/${this}_rsa1.pub
# copy RSA key:
#scp id_rsa.pub ${remote}:.ssh/${this}_rsa.pub
# copy DSA key:
scp id_dsa.pub ${remote}:.ssh/${this}_dsa.pub
# make authorized_keys(2) files on remote host:
echo; echo; echo
# this one copies all three keys:
#ssh $remote "cd .ssh; touch authorized_keys authorized_keys2; cat ${this}_rsa1.pub >> authorized_keys; cat ${this}_rsa.pub >> authorized_keys2; cat ${this}_dsa.pub >> authorized_keys2;"
# this one copies RSA1 and DSA keys:
ssh $remote "cd .ssh; touch authorized_keys authorized_keys2; cat ${this}_rsa1.pub >> authorized_keys; cat ${this}_dsa.pub >> authorized_keys2;"
echo; echo; echo
echo "try an ssh $remote"
скопирован из: http: //folk.uio .Но / HPL / скриптовый / док / SSH-нет-password.html
Я обычно использую sshpass для этого, устанавливаю его с помощью sudo apt-get install sshpass и использую его следующим образом
sshpass -p 'password' ssh your_username@your_server
Если вы создаете общедоступную / готовую ключевую пару и регистрируетесь с использованием нашего вновь созданного открытого ключа, вам не нужно будет вводить пароль. В зависимости от конфигурации вашего ключа и / или агента ssh вам может понадобиться защитить ваш ключ парольной фразой.
Вот один из многих коротких хаутов для вас. Для безопасности этого метода крайне важно, чтобы сгенерированный закрытый ключ оставался приватным! Вы никогда не должны делиться им с кем-либо или разрешать доступ к нему в любом качестве.
Эта команда генерирует достаточно сильный ключ в ~/.ssh/:
ssh-keygen -b 4096
В ~/.ssh/ вы найдет ваш открытый ключ как id_rsa.pub. Его содержимое должно быть добавлено к файлу вашего сервера authorized_keys путем переноса через переносимый носитель (ручный накопитель) или путем короткого включения аутентификации пароля на сервере, затем с помощью ssh-copy-id ~/.ssh/id_rsa.pub username@server, а затем снова отключите его.
Если вы решили защитить свой ключ парольной фразой (на первом шаге), вы можете использовать ssh-agent или брандмауэр Ubuntu для обеспечения безопасности этого локального локального доступа, поэтому вам не нужно вводить его все время.
[решение специально для пользователей, использующих Windows для ssh на своих удаленных машинах, включая облачные изображения на облаке AWS Cloud и GCE Cloud]
(Если это сработает для вас, вы получите высокую оценку. терпение.)
Недавно использовалось это решение для удаленного входа в систему новых развернутых изображений vm на GCE.
(у меня есть закрытый ключ)
Откройте puttygen, нажмите кнопку загрузки и выберите файл закрытого ключа (*.pem) .
(у меня нет личного ключа)
Откройте puttygen, выберите нужный тип ключа SSH2 DSA (вы можете использовать RSA или DSA) внутри раздел «Параметры» ... и важно, чтобы вы оставили поле кодовой фразы пустым, нажмите «Создать» и следуйте инструкциям для генерации пары ключей (общедоступных / частных).(из источника 1, ссылка ниже)
Скопируйте данные открытого ключа из «Открытого ключа для вставки в файл OpenSSH authorized_keys» в разделе «Генератор ключей PuTTY» и вставьте ключевые данные в « authorized_keys ".
Убедитесь, что в этом файле есть только одна строка текста.
Загрузите файл authorized_keys в домашний каталог на удаленном компьютере.
Создайте каталог .ssh (если не существует)
Скопируйте файл authorized_keys в каталог .ssh. (это заменит любой существующий файл authorized_keys, обратите внимание на это).
Если файл существует, просто добавьте содержимое этого файла в существующий файл.
Выполнить команды для установки разрешений:
$ sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
Теперь вы сможете ssh на удаленную машину без ввода учетных данных каждый раз.
Введите следующие команды:
ssh-keygen Нажмите клавишу «Ввод», пока не получите приглашение ssh-copy-id -i root@ip_address (он будет запрашивать пароль хост-системы) ssh root@ip_addressТеперь вы можете войти в систему без пароля.
Я обычно делаю это так:
ssh-keygen -t rsa
(При запросе пароля оставите его пустым)
Затем: cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> .ssh/authorized_keys'
(для этого требуется, чтобы папка .ssh находилась в домашнем каталоге на целевом имени хоста с файлом authorized_keys)
Конечно, замените имя пользователя на желаемое имя пользователя и имя хоста с желаемым именем хоста или IP-адресом
После этого просто установите SSH в это поле так же, как вы привыкли.
Я хотел бы добавить ответ для тех, кто может найти, что они должны ввести пароль, даже если они прочитали все ответы здесь, потому что вы установили IdentitiesOnly как «да». И ответ здесь может сэкономить вам много времени, чтобы управлять несколькими ключами, являясь ключами для git или сервера.
После того, как я сгенерировал ключ и скопировал его на сервер:
ssh-keygen
ssh-copy-id -i ~/.ssh/12gpu_server.pub lerner@192.168.20.160
Я обнаружил, что это не сработало.
Затем я пошел проверить файл ~/.ssh/config, я увидел это внизу:
Host *
IdentitiesOnly yes
Затем я добавляю это выше:
Host 12gpu
HostName 192.168.20.160
User lerner
IdentityFile ~/.ssh/12gpu_server
Я могу просто войти в систему, введя ssh 12gpu.
Затем вы можете добавить несколько ssh-ключей, используя ваши любимые имена, и вам нужно только добавить настройки, такие как четыре строки, в файл конфигурации.
Хост - это имя, которое вы хотите ввести при подключении сервера позже; hostName - это ip сервера; Пользователь - это имя пользователя, на котором вы заходите на сервер; и файл идентификации - это файл, в котором вы храните ключ, который вы создали.
Чтобы сделать некоторые дополнения:
Mac по умолчанию не имеет ssh-copy-id, вам придется установить его самостоятельно:curl https://raw.github.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
chmod +x /usr/local/bin/ssh-copy-id
найти здесь: https : //github.com/beautifulcode/ssh-copy-id-for-OSX
Mac по умолчанию не имеет ssh-copy-id, вам придется установить его самостоятельно:curl https://raw.github.com/beautifulcode/ssh-copy-id-for-OSX/master/ssh-copy-id.sh -o /usr/local/bin/ssh-copy-id
chmod +x /usr/local/bin/ssh-copy-id
отметить, что необходимы кавычки.
Приложения ssh и scp для удаленного входа и удаленной копии, соответственно, позволяют вам связываться с удаленным хостом без указания пароля. Это требует, чтобы вы выполняли процедуру аутентификации, подобную процедуре, описанной ниже. Под клиентом мы подразумеваем машину, на которой вы сидите, и по серверу мы имеем в виду машину, на которую вы хотите войти, не указав пароль. Шаги процедуры аутентификации:
Запустите ssh-keygen для создания закрытых и открытых ключей, если это уже не сделано на вашем компьютере. Они хранятся в файлах в $HOME/.ssh. Добавить содержимое файла открытого ключа в файл $HOME/.ssh/authorized_keys или $HOME/.ssh/authorized_keys2 на сервере.Существует три разных типа протоколов аутентификации. Вы указываете тип при запуске ssh-keygen:
Запустите ssh-keygen для создания закрытых и открытых ключей, если это уже не сделано на вашем компьютере. Они хранятся в файлах в $HOME/.ssh. Протокол SSH версии 1, RSA: это получается при запуске ssh-keygen -t rsa и приводит к файлам id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ) Добавить содержимое файла открытого ключа в файл $HOME/.ssh/authorized_keys или $HOME/.ssh/authorized_keys2 на сервере.При запуске ssh-keygen вы можете полагаться на ответы по умолчанию (подразумевая, что вы делаете не давать кодовую фразу). Это делает всю настройку простой, но также небезопасной.
Вы можете указать тип ключей, которые будут использоваться опцией ssh; ssh -1 принудительно использует ключи RSA1 (протокол версии 1), тогда как ssh -2 заставляет ssh использовать только RSA или DSA-ключи (протокол версии 2). В приведенных ниже примерах мы создаем и устанавливаем ключи RSA1 и DSA на удаленном хосте, чтобы у вас было больше гибкости. Вы можете сделать конфигурационный файл в каталоге .ssh с помощью строки
Protocol 1,2
Это делает ssh попыткой подключения RSA1 (протокол версии 1) до RSA1 [ ! d20] (протокол версии 2).
remote=user@remotehost # fill in correct user and remotehost names
cd $HOME/.ssh
# create .ssh on remote host if it is non-existing:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy RSA1 key:
scp identity.pub ${remote}:.ssh
ssh $remote "cd .ssh; cat identity.pub >> authorized_keys"
remote=user@remotehost # fill in correct user and remotehost names
cd $HOME/.ssh
# create .ssh on remote host if it is non-existing:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy DSA key:
scp id_dsa.pub ${remote}:.ssh
ssh $remote "cd .ssh; cat id_dsa.pub >> authorized_keys2"
Это все, что вам нужно сделать, если вы не использовали кодовую фразу при создании ключей. Вы можете проверить соединение, запустив ssh $ remote и посмотреть, можете ли вы войти в систему, не указывая пароль (возможно, вам нужно будет использовать -1 или -2 как опции для RSA1 ). Процедуру можно, конечно, повторить для любой машины, на которую вы хотите войти.
Если вы использовали кодовую фразу, вам нужно будет запустить программу ssh-agent, чтобы запустить специальную оболочку, за которой следует ssh-add, чтобы зарегистрировать комбинацию RSA1 с sshd.
#!/bin/sh
# create ssh connections without giving a password
if [ $# -lt 1 ]; then
echo Usage: $0 username@remotehost
exit
fi
remote="$1" # 1st command-line argument is the user@remotehost address
this=$HOST # name of client host
# first check if we need to run ssh-keygen for generating
# $HOME/.ssh with public and private keys:
if [ ! -d $HOME/.ssh ]; then
echo "just type RETURN for each question:" # no passphrase - unsecure!!
# generate RSA1, RSA and DSA keys:
echo; echo; echo
ssh-keygen
echo; echo; echo
ssh-keygen -t rsa
echo; echo; echo
ssh-keygen -t dsa
else
# we have $HOME/.ssh, but check that we have all types of
# keys (RSA1, RSA, DSA):
if [ ! -f $HOME/.ssh/identity ]; then
# generate RSA1 keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen
fi
if [ ! -f $HOME/.ssh/id_rsa ]; then
# generate RSA keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen -t rsa
fi
if [ ! -f $HOME/.ssh/id_rsa ]; then
# generate DSA keys:
echo "just type RETURN for each question:" # no passphrase - unsecure!!
ssh-keygen -t dsa
fi
fi
cd $HOME/.ssh
if [ ! -f config ]; then
# make ssh try ssh -1 (RSA1 keys) first and then ssh -2 (DSA keys)
echo "Protocol 1,2" > config
fi
# copy public keys (all three types) to the destination host:
echo; echo; echo
# create .ssh on remote host if it's not there:
ssh $remote 'if [ ! -d .ssh ]; then mkdir .ssh; fi'
# copy RSA1 key:
scp identity.pub ${remote}:.ssh/${this}_rsa1.pub
# copy RSA key:
#scp id_rsa.pub ${remote}:.ssh/${this}_rsa.pub
# copy DSA key:
scp id_dsa.pub ${remote}:.ssh/${this}_dsa.pub
# make authorized_keys(2) files on remote host:
echo; echo; echo
# this one copies all three keys:
#ssh $remote "cd .ssh; touch authorized_keys authorized_keys2; cat ${this}_rsa1.pub >> authorized_keys; cat ${this}_rsa.pub >> authorized_keys2; cat ${this}_dsa.pub >> authorized_keys2;"
# this one copies RSA1 and DSA keys:
ssh $remote "cd .ssh; touch authorized_keys authorized_keys2; cat ${this}_rsa1.pub >> authorized_keys; cat ${this}_dsa.pub >> authorized_keys2;"
echo; echo; echo
echo "try an ssh $remote"
скопирован из: http: //folk.uio .Но / HPL / скриптовый / док / SSH-нет-password.html
Я обычно использую sshpass для этого, устанавливаю его с помощью sudo apt-get install sshpass и использую его следующим образом
sshpass -p 'password' ssh your_username@your_server
Если вы создаете общедоступную / готовую ключевую пару и регистрируетесь с использованием нашего вновь созданного открытого ключа, вам не нужно будет вводить пароль. В зависимости от конфигурации вашего ключа и / или агента ssh вам может понадобиться защитить ваш ключ парольной фразой.
Вот один из многих коротких хаутов для вас. Для безопасности этого метода крайне важно, чтобы сгенерированный закрытый ключ оставался приватным! Вы никогда не должны делиться им с кем-либо или разрешать доступ к нему в любом качестве.
Эта команда генерирует достаточно сильный ключ в ~/.ssh/:
ssh-keygen -b 4096
В ~/.ssh/ вы найдет ваш открытый ключ как id_rsa.pub. Его содержимое должно быть добавлено к файлу вашего сервера authorized_keys путем переноса через переносимый носитель (ручный накопитель) или путем короткого включения аутентификации пароля на сервере, затем с помощью ssh-copy-id ~/.ssh/id_rsa.pub username@server, а затем снова отключите его.
Если вы решили защитить свой ключ парольной фразой (на первом шаге), вы можете использовать ssh-agent или брандмауэр Ubuntu для обеспечения безопасности этого локального локального доступа, поэтому вам не нужно вводить его все время.
[решение специально для пользователей, использующих Windows для ssh на своих удаленных машинах, включая облачные изображения на облаке AWS Cloud и GCE Cloud]
(Если это сработает для вас, вы получите высокую оценку. терпение.)
Недавно использовалось это решение для удаленного входа в систему новых развернутых изображений vm на GCE.
(у меня есть закрытый ключ)
Откройте puttygen, нажмите кнопку загрузки и выберите файл закрытого ключа (*.pem) .
(у меня нет личного ключа)
Откройте puttygen, выберите нужный тип ключа SSH2 DSA (вы можете использовать RSA или DSA) внутри раздел «Параметры» ... и важно, чтобы вы оставили поле кодовой фразы пустым, нажмите «Создать» и следуйте инструкциям для генерации пары ключей (общедоступных / частных).(из источника 1, ссылка ниже)
Скопируйте данные открытого ключа из «Открытого ключа для вставки в файл OpenSSH authorized_keys» в разделе «Генератор ключей PuTTY» и вставьте ключевые данные в « authorized_keys ".
Убедитесь, что в этом файле есть только одна строка текста.
Загрузите файл authorized_keys в домашний каталог на удаленном компьютере.
Создайте каталог .ssh (если не существует)
Скопируйте файл authorized_keys в каталог .ssh. (это заменит любой существующий файл authorized_keys, обратите внимание на это).
Если файл существует, просто добавьте содержимое этого файла в существующий файл.
Выполнить команды для установки разрешений:
$ sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
Теперь вы сможете ssh на удаленную машину без ввода учетных данных каждый раз.
введите следующие команды:
ssh-keygen Нажмите клавишу ввод, пока не получишь приглашения ssh-copy-id -i root@ip_address (это как запросит пароль и хост-системы) ssh root@ip_addressтеперь вы должны быть в состоянии войти без пароля.
как я обычно делаю это следующим образом:
ssh-keygen -t rsa
(при запросе пароля, оставьте это поле пустым)
тогда: cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> .ssh/authorized_keys'
(для этого требуется папке .SSH, чтобы быть в домашней директории на целевой хост, с файл authorized_keys в нем)
конечно, заменить имя пользователя с желаемым именем пользователя и именем хоста с нужного хоста или IP-адрес
после этого, просто SSH на эту коробку просто, как вы привыкли.