您的位置首页生活百科

怎样在Ubuntu上安装与设置ssh,实现无密码登录

怎样在Ubuntu上安装与设置ssh,实现无密码登录

的有关信息介绍如下:

怎样在Ubuntu上安装与设置ssh,实现无密码登录

SSH为Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何安装ssh服务器,实现无密码登录。

首先,打开终端(快捷键Ctrl+Alt+T)安装ssh软件,在这里直接输入sudo apt-get install ssh在线安装。

安装过后,进行加密设置,输入ssh-keygen -t rsa(参数t后面跟的就是加密算法,一般常用的有两种RSA与DSA加密,我们这里用的的是RSA算法),会提示你输入保存密钥的文件直接按“Enter”键默认到用户主目录即可,在提示输入passphrase时直接也按“Enter”键,表示无证书密码。(反正一直按“Enter”键,直至出现一个符号组成的图像即可)。

完成过后,可以查看到用户主目录下多了id_rsa(私钥)和id_rsa.pub(公钥)两个文件,一个是存储公钥的文件,另一个是存储私钥的文件。

使用catid_rsa>> authorized_keys命令(注意是两个大于号,一个大于号的覆盖文件,两个大于号是累加内容)将id_rsa(私钥)文件中的内容累加写入到~/.ssh/authorized_keys(已认证)文件中。

要无密码登录其他电脑,只需要将authorized_keys文件放置到其他机子的~/.ssh/目录下(前提是其他电脑也安装了ssh服务)。可以通过scp传输,如下图所示,scp后面接要传输的文件名 然后接其他电脑的用户名@IP:传输的目录。

然后,命令行输入ssh 后面接其他电脑用户名@IP,就会发现无密码就可登录其他电脑。(如果需要双向无密码登录,同理只要让另一台电脑生成密钥,把公钥内容累加到这台电脑的authorized_keys中即可。)

下面来看看直接通过映射名无密码访问其他电脑,打开hosts文件,可以使用vi或vim编辑器或图形界面的gedit文本编辑器打开。

在hosts中加入其他电脑的IP地址空格后输入一个你自己喜欢的映射名,如下图的红线部分,以后通过这个映射名即可访问其他电脑。

然后,输入ssh通过映射名来访问其他电脑,注意当两个用户的名称相同时才可以ssh映射名否则需要加上用户名(像这样ssh hadoop@node1)。

如果出现下述问题,输入ssh localhost或ssh 映射名,出现Agent admitted failure to sign using the key。

解决方案:命令行输入ssh-add命令即可,会出现Identity added: /home/hadoop/.ssh/ia_rsa(/home/hadoop/.ssh/ia_rsa),就解决上述出现的问题。