can3p: (Default)

Пост в качестве напоминания, о том, что это было.

Для начала нужно сгенерировать сами ключи, пароль рекомендую ввести:

$ ssh-keygen -t rsa

В папке .ssh образуются два файла – id_rsa и id_rsa.pub, наружу нужно отдавать последний, у себя хранить оба ( вернее можно только один id_rsa, но тогда не получится настроить корректную работу ssh-agent и вводить пароль для ключа при каджой операции ).

Следующим шагом нужно закинуть публичный ключ на сервер, с которым хотим работать, пусть это будет host.com, висеть будет на порту 50123. Забрасываем файл на сервер:

$ scp -P 50123 ~/.ssh/id_rsa.pub user@host.com:id_rsa

Далее добавляем ключ к доверенным на сервере и выставляем права на файлы (отсюда):

$ scp -P 50123 ~/.ssh/id_rsa.pub user@host.com:id_rsa
$ ssh user@host.com -p 50123
$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh)
$ cat ~/id_rsa >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm ~/id_rsa

Теперь все хорошо, но при каждом соединении нужно вводить пароль для ключа, что надоедает. Можно избавиться от этого, запукая ssh-agent каждую сессию. Чтобы и это автоматизировать, можно добавить следующий скрипт в ~/.bashrc ( отсюда )

SSH_ENV="$HOME/.ssh/environment"
 
function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}
 
# Source SSH settings, if applicable
 
if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

После этого можно работать.


Оригинал: http://blog.dpetroff.ru/tech/ssh_keys

Profile

can3p: (Default)
can3p

April 2017

S M T W T F S
      1
2 3 45678
9101112131415
16171819202122
23 242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 28th, 2025 01:44 pm
Powered by Dreamwidth Studios