远程服务器无密登入设置

现在还在输密码进入服务器的话,如果频次高的话,显得就很浪费时间。实际上可以通过无密登陆服务器,只需要设置好ssh就可以,这样只要你打开你电脑的终端不管是Mac OS还是Linux输入ssh root@远程服务器IP,这个命令就会自动登陆到远程服务器上,也就不必要记什么密码,而且有的时候记不住经常搞混,登陆不上去很尴尬。实际上原理也不复杂,就是你把你本地(机)的公钥给远程服务器注册一下,等下一次登陆验证就验证ssh就可以了。

环境:
macbook(实际上你用的是linux也一样,至于windows 的windows terminal终端没有实践过)
阿里云CentOS

操作:
步骤一:本地(机)生成公钥------(如果本地有的话直接拷贝公钥就可以)
1 检查是否有密钥
首先你要看所在的这台机有没有现成的公钥,可以先看看你本地的.ssh目录有没有

 ls -a ~/.ssh

2 生成ssh密钥
看到有pub公钥文件就说明你已经生成过本地的ssh密钥对了,直接跳过下一步
上面就是已经生成了密钥对的状况
若果你没有生成密钥对或者想重新生成,可以输入命令

ssh-keygen -t rsa

3 输出复制密钥
实际上你也可以通过vim来打开公钥文件,但是我们可以通过cat命令输出更直接,复制里面的内容就可以

cat ~/.ssh/id_rsa.pub

要复制返回的结果,要复制返回的结果,要复制返回的结果
重要的事情说三遍,这个操作主要是为了获得公钥内容,而上面的操作就是返回公钥内容。

步骤二:登陆目标主机配置密钥文件
1 检查是否有authorized_keys文件,没有就要创建
首先到对应目录查找

cd ~/.ssh/
ls  // 查看是否有`authorized_keys`文件

ls命令在该目录下没有找到,就说明没有需要自己去创建,记住一定是在当前目录下创建。

touch ~/.ssh/authorized_keys

2 将你刚才复制的本地(机)的公钥内容添加进去
有的文章采用的是,下面这种重定向的方式

echo "这里是复制的公钥内容,双引号不能省略" >> ~/.ssh/authorized_keys

但是我更喜欢用vim,可能是复制粘贴惯了,这里要注意的一点就是这个authorized_keys文件可不可以配置多个公钥呢?答案是可以的,我测试了一下authorized_keys配置两个是没问题的,是可以登上去的,当然还是要分开不要弄一块。下面是我的authorized_keys文件配置两个的截图
在这里插入图片描述
步骤三:本地(机)无密登陆远程服务器
实际上一切顺利的话,就只要输入ssh root@IP。

当然也有不顺利的时候,会遇到什么问题呢?就是登陆说你这个不对balabala,让你添加正确的密钥,比如下面的报错

Add correct host key in~/.ssh/known_hosts to get rid of this message

这其实是上次弄证书没过期的问题,你重新生成ssh密钥对可能会出现这个问题,解决方式也很简单,及时清理过期的证书

ssh-keygen -R 这里是你要登陆的远程服务器IP

再输入上面这个命令,就不会出现上面这个问题了。

发布了87 篇原创文章 · 获赞 9 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/FeiChangWuRao/article/details/104111205
今日推荐