В данной статье на примере сервера Ubuntu 18.04 LTS дана инструкция по установке и настройке EmerSSH для последующего входа по SSH и авторизации по ключу, публичная часть которого размещена в сети Emercoin.
Предполагается, что кошелек Emercoin уже развернут на сервере и публичный ключ уже добавлен в блокчейн. Т.е. существует запись NVS типа ssh:user c value = вашему публичному ключу. Где «user» это реальное имя пользователя который будет логинится через EmerSSH.
Для начала обновим и установим необходимые пакеты .
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install libcurl4-openssl-dev libjansson-dev
Затем скачаем последний релиз EmerSSH и компилим его
wget https://github.com/emercoin/emcssh/archive/0.0.4.tar.gz
tar xfz 0.0.4.tar.gz
make
Далее, пройдем к исходникам и подготовим файл конфигурации
cd emcssh-0.0.4/source
cp emcssh_config.sample emcssh.conf
Далее открываем файл emcssh.conf любым редактором и указываем правильные rpcuser:rpcpassword в строчке:
emcurl http://rpcuser:rpcpassword@127.0.0.1:6662/
Эти параметры вы можете уточнить в конфиге вашего кошелька. В общем случае он находится в ~/emercoin/emercoin.conf.
После внесения изменений сохраняем файл emcssh.conf и открываем, опять-таки любым редактором, файл Makefile. Там нас интересует предпоследняя строчка: нужно удалить $(PREFIX), дабы конфиг встал туда, откуда он потом увидится.
install:
install -s -m 700 $(PROJECT) $(PREFIX)/sbin
mkdir -p $(PREFIX)/man/man8 $(PREFIX)/etc/emercoin
install -m 600 emcssh.conf /etc/emercoin
install -m 644 emcssh.8 $(PREFIX)/man/man8
Далее запускаем
make install
и переходим к настройке демона SSH.
Откываем конфигурационный файл SSH sshd_config
:
sudo nano /etc/ssh/sshd_config
Необходимо добавить строки
AuthorizedKeysCommand /usr/local/sbin/EmerSSH
AuthorizedKeysCommandUser root
Перезапустим сервис
sudo systemctl restart sshd
Теперь осталось создать файл /.ssh/emcssh_keys и добавить туда пользователя(ей). Просто строка содержащая имя пользователя с собачкой перед ним:
@user
Проверить работоспособность EmerSSH можно, запустив
sudo emcssh user