linux下使用ssh远程连接免密登录

在hadoop中有很多组件可能在多个服务器上。而在启动hdfs的时候都会提醒用户是否连接以及输入服务器密码。一台、两台服务器手动输入还不算麻烦。但是一般情况下都是有很多太服务器。这时候就会导致操作上的麻烦,那如何才能ssh免密登录呢?

其实很简单。我相信很多人在工作中都使用过git作为项目的代码版本控制吧。我们一般的操作都是在内容中搭建一个gitlab作为项目代码远程仓库,然后在本地windows下使用ssh-key -t rsa命令生成密钥(yue)对接着将.ssh文件夹下的id_rsa.pub文件中的内容全部复制。然后进入gitlab仓库中的设置中将刚才复制的值粘贴到指定位置

放到key的框框内。之后我们在使用git进行一系列操作的时候就不需要输入用户名和密码了。

同样的道理我们在linux环境中使用ssh IP -l username   IP是你要远程连接的服务器IP username是你要连接服务器选择的用户。

输入yes之后输入密码

连接成功。

使用exit命令退出连接。这样每次连接都需要输入密码会给我们的操作带来很大的不便。所以我们就必须设置一下ssh免密登录。

A服务器远程连接B服务器免密连接登录方法很简单就三步:

第一步:生成密钥对

在A机器上使用ssh-keygen -t rsa 命令  rsa为加密方式。默认是rsa

然后连续三次不要输入任何字符直接enter如果你输入的一些字符就达不到免输入登录的目的

这个时候在/home/username/.ssh下就会出现id_rsa   id_rsa.pub这两个文件我们需要的是id_rsa.pub(公钥)

第二步:将id_rsa.pub中的内容追加到B服务器/home/username/.ssh/authorized_keys文件下

先用将id_rsa.pub文件复制到B服务器上(可使用ftp软件)我们这里使用scp 要复制的文件 username@IP:/路径   命令

复制完成之后我们切换到B服务器中的/home/username/.ssh目录下

然后使用cat 要追加的文件内容的文件 >> 被追加的文件将刚才复制过来的id_rsa.pub追加到B服务器的authorized_keys文件后

第三步给authorized_keys和.ssh目录赋予权限(只有该用户可读写其他任何用户不能有任何权限)

如果不设置会报错 Permission denied

先给authorized_keys赋予600权限(6是表示可读可写第一个0用户组表示没有任何权限第二个0表示其他用户没有任何权限)

给.ssh目录赋予700权限(为什么不是600呢。其实我也不知道。度娘告诉我的。。)

大功告成!接下来试试在A服务器上使用ssh  IP -l username命令来远程连接吧

已经不需要登录密码了!!!!

大家可以继续关注我的博客!我每周都会定期更新文章!

我的个人QQ/wechat   806751350 备注csdn博客

猜你喜欢

转载自blog.csdn.net/qq_32695789/article/details/83477825