Инструкция по установки EmerSSH для авторизации в Ubuntu

В данной статье на примере сервера 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