来源: emercion.com    Emercoin Tech    使用指南 |   2015年03月28日   
 编译:南迦
 EMCLNX 广告: 

EMCSSH - 在崛起币(Emercoin)上的PKI

EMCSSH使OpenSSH和加密数字货币——崛起币(Emercoin)的区块链桥接成为可能。使用EMCSSH可以非常轻易、安全和灵活的登陆使用SSH协议的多个服务器。关于更多使用ECMSSH的信息,可在开发者博客上阅读。下面是在Debian 7系统中安装和配置教程。


EMCSSH Guides

首先需要安装崛起币(Emercoin)的钱包核心客户端,如果尚未安装,可参阅《在VPS中安装和设置Emercoin钱包客户端指南》。

安装必需的程序包

首先更新Debian 7系统程序和软件:

apt-get update
apt-get dist-upgrade

现在安装“curl”和“jansson”:

apt-get install libcurl4-openssl-dev libjansson-dev

下面,需要下载和安装 emcssh:

wget http://emercoin.com/content/emcssh/emcssh-0.0.2.tar.gz
tar xfz emcssh-0.0.2.tar.gz
cd emcssh-0.0.2
make
make install

安装EMCSSH

现在需要编辑配置文件“ /usr/local/etc/emcssh_config”,并且改变“emcurl”的设置。设置需要同钱包核心客户端中的“emercoin.conf”文件中的设置相匹配,该文件路径为“/home/emc/.emercoin/emercoin.conf”

nano /usr/local/etc/emcssh_config

修改“emcurl”参数

emcurl http://emccoinrpc:rpcpassword@127.0.0.1:8775/

“emccoinrpc”和“rpcpassword”会从“emercoin.conf”文件中读取,其他参数可忽略。

重点提示:“emcssh_config”文件需设定为仅根用户“root”可读写权限,使其他人无法更改“rpcpassword”参数。

然后,需要编辑“sshd config”配置文件。Debian系统的sshd版本太旧,会有一些小问题,因此首先需要升级“sshd”。其他操作系统安装“emcssh”,可以省略升级“sshd”的步骤。

在Debian系统中升级OpenSSH

首先找到已安装的“OpenSSH”版本号:

sshd -v

在返回信息中,我们得到如下信息:

unknown option -- v
OpenSSH_6.1p1 Debian

如果是6.2及以上版本,下一步可忽略,如果是6.2以下版本,则按如下升级:

nano /etc/apt/sources.list

在最后一行增加如下内容,并保存:

deb http://ftp.debian.org/debian/ wheezy-backports main non-free contrib

更新系统:

apt-get update

安装“sshd”

apt-get -t wheezy-backports install openssh-server

安装脚本会询问是否禁用密码授权认证,最好是不要使用传统的登陆方法。

此外,Debian用户需更改本地“emcssh”文件:

mv /usr/local/sbin/emcssh /usr/sbin/emcssh

配置OpenSSH

现在我们需要编辑配置文件“sshd_config”:

nano /etc/ssh/sshd_config

必须增加以下语句:

如是Debian系统(For Debian):

AuthorizedKeysCommand /usr/sbin/emcssh
AuthorizedKeysCommandUser root

如是其他操作系统(For other operating systems):

AuthorizedKeysCommand /usr/local/sbin/emcssh
AuthorizedKeysCommandUser root

重启“sshd”,以使新配置生效:

kill -HUP `cat /var/run/sshd.pid`

生成秘钥对

现在以用户名登陆,并生成秘钥对。如在Windows系统中运行,建议使用“PuTTYgen”程序,下载地址:点击此处下载

PuTTYgen

在秘钥生成过程中,将鼠标光标在屏幕上移动,之后将看到如下情形:

PuTTYgen

点击保存私钥,并储存私钥在本地电脑。密码保护不是必须选项,因此可以选择“非密码保护保存”。

下面,我们需要将公钥(图片上的高亮部分)添加到崛起币(Emercoin)的区块链中,以下操作均在本地电脑的崛起币(Emercoin)钱包核心客户端中执行:

ssh:your_username

在“值”栏目上粘贴从PuTTYgen中得到的公钥,崛起币(Emercoin)钱包客户端会生成新的EMC钱包地址,然后更改有效期“days”,使其长期有效,并点击“Submit”按钮提交。

Emercoin Wallet

现在我们需要等待交易确认,在交易确认区块产生后,可返回服务器,并在“emcssh_keys”文件中增加一个新用户:

cd $HOME/.ssh/nano emcssh_keys

仅需使用“@”符号增加用户即可。在此教程中,使用:

@kamillo

保存并关闭文档文件。

崛起币(Emercoin)的EMCSSH技术不仅允许个人用户使用,而且整个组群都可以使用。比方说,您想让其他三人访问服务器,您可以将所有用户添加到“emcssh_keys”文件,但这样是不方便的,因为如要添加、删除一个用户,您需要编辑所有服务器上的该文件。这里有一个灵活的方法,只需要简单的在崛起币(Emercoin)的区块链上创建一个条目就可以完成以上工作,例如:kamilloFreinds,以及列出你所有朋友清单。对于这样的条目,输入的字段如下:

Name: ssh:kamilloFriends
Value: @kamillo|@friend1|@friend2|@friend3

如果需要从组群中添加、删除某人,只需在崛起币(Emercoin)钱包核心客户端,于该条目中使用“Name_Update”更新即可。
因此,如在“emcssh_keys”文件中指定组群“@kamiiloFriends”,系统即可授权给任何人。

可操作性测试

要确认是否如期正常运行,输入以下指令:

emcssh username

在测试服务器中,以根用户“root”运行,因此用户名为:

emcssh root

返回信息如下:

#INFO: verbose=2; maxkeys=4096 recursion=30 emcssh_keys=/root/.ssh/emcssh_keys; emcurl=@127.0.0.1:8775/

#Path=/
#Path=/kamillo/
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEAgmzL............

如期完美运行,一切正常!
现在试用“登陆”功能,不要关闭当前会话,授权PuTTY无需密码登陆。新建一个PuTTY窗口,输入服务器的IP地址,然后转到SSH->Auth:

PuTTY

点击浏览,指定您私钥路径。

在标签连接 --> 数据中,可以指定想要连接的用户,如没有指定,也不必担心安全问题,在此情况下,服务器会在你连接上后询问用户名。

PuTTY

点击打开并连接到服务器。如果能够连接成,说明整个配置成功!如果由于某种原因连接失败,那么打开上次会话的窗口,并输入以下指令:

cat /var/log/auth.log

仔细寻找任何出现的错误消息,并寻求解决问题的方法。如果你不能修复的话,请寻求帮助。

最后,这是另一个有用的命令,显示了访问者的登录时间:

grep "Accepted publickey" /var/log/auth.log

补充说明:为苹果 Mac OS X 系统授权认证

为了能够使用Mac OS X系统的终端进行EMCSSH登录,首先需要将私钥转换为所需格式(我没有在Windows系统中通过PuTTYgen程序转换过)。最好是为私钥设置密码(将来,您需要输入一次密码)。

运行PuTTYgen程序,点击载入(load)并选择私钥“*.ppk”文件,然后设置密码并确认,转到标签转换(tab Conversions)并按OpenSSH格式导出私钥:

PuTTYgen

现在我们将私钥添加到Mac OS X系统中.
打开终端,并进入到私钥所在文件夹。在这里,我将文件夹命名为“Keys”:

cd Keys

设置私钥为“只读模式”:

chmod 0400 your_key_file

添加私钥:

ssh-add your_key_file

系统会返回响应,我们将收到加入的标识符消息。请用以下命令连接:

ssh root@your_server_ip

如果服务器没有询问密码,请不要担心,一切正常!


扫一扫二维码分享