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

2022-03-24 科技 77阅读
你好,方法如下;
首先,打开终端(快捷键Ctrl+Alt+T)安装ssh软件,在这里直接输入sudoapt-getinstallssh在线安装。

安装过后,进行加密设置,输入ssh-keygen-trsa(参数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映射名否则需要加上用户名(像这样sshhadoop@node1)。

如果出现下述问题,输入sshlocalhost或ssh映射名,出现Agentadmittedfailuretosignusingthekey。

解决方案:命令行输入ssh-add命令即可,会出现Identityadded:/home/hadoop/.ssh/ia_rsa(/home/hadoop/.ssh/ia_rsa),就解决上述出现的问题。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com