专栏首页SpringBoot 核心技术Linux杂谈:Mac/Linux下配置远程Linux服务器免密登录

Linux杂谈:Mac/Linux下配置远程Linux服务器免密登录

你还在为你每次打开测试环境生产环境需要登录而犯愁吗? 登录是必须的,但密码是可或缺的!!!

因为前两章讲到了Gitolite服务端的配置,配置客户端时是采用的SSH方式授权登录的Git Server,如果你看过我的文章应该对open-ssh有一定的了解,我们本章的内容同样也是需要open-ssh的支持。

本章目标

访问Linux/Ubuntu免密码SSH方式登录。

安装openssh-server

如果你的服务器并没有安装openssh-server需要执行下面的命令进行安装:

ubuntu@yuqiyu:~$ sudo apt-get install openssh-server

安装openssh-client

Mac系统自带openssh,所以不需要再次安装。 如果你是Linux系统作为client,执行如下命令安装:

client@other:~$ sudo apt-get install openssh-client

Mac下生成SSH KEY

打开Mac系统自带的终端,通过ssh-keygen命令来进行生成ssh key信息,命令如下所示:

ssh-keygen -t rsa

不需要自定义配置信息,所有的询问通过回车跳过即可。 生成的文件去了哪里?之前也讲过位置,在这里再简单的说下,默认的位置在当前用户根目录下的.ssh隐藏目录内:

// 执行查看命令
ls ~/.ssh
// 文件列表
id_rsa   id_rsa.pub

远程Linux服务器授权公钥

先通过用户名密码的方式登录远程Linux服务器,把我们上一步生成的id_rsa.pub文件的内容复制到authorized_keys文件内,如下所示:

ubuntu@yuqiyu:~$ echo "公钥内容" >> ~/.ssh/authorized_keys 
  • 公钥内容:在上面命令中公钥内容就是生成的id_rsa.pub文件内容

测试免密登录

在本地终端输入如下命令测试是否可以直接连接到远程服务器

ssh ubuntu@192.168.1.75
  • ubuntu:访问远程服务器的用户名
  • 192.168.1.75:你的远程服务器的IP地址,根据实际情况而定

如果配置没有问题是直接可以访问到远程服务器的,这样是不是很简单?

SSH Config

那如果你感觉通过ssh user@ip的方式比较麻烦(因为平时服务器较多的情况下会出现记错的情况而导致无法登录),我们还有更简单的方式。

通过修改本机的.ssh/config文件可以进行配置访问远程服务器的基本信息,下面是我的配置:

Host owner
HostName 192.168.1.75
User ubuntu
IdentitiesOnly yes

配置文件保存退出,我们再次在终端输入如下命令进行测试免密登录:

ssh owner

发现同样可以免密进行登录,在这里的owner就是我们在~/.ssh/config配置文件的Host值,我们通过执行ssh ownerssh就会去找配置该ownerHost信息,然后再次访问远程服务器。

总结

本章讲解了Mac/Linux客户端免密登录访问远程服务器,更有ssh config简单的方式进行快速免密登录,通过这种方式可以很好的节约工作时间,让时间去做更多有意义的事情。

我在星球等你提问

如果你有技术相关的问题想要咨询恒宇少年,请去博客(http://blog.yuqiyu.com)首页左侧导航栏,点击知识星球微信扫码加入我的星球。

与恒宇少年面对面

如果你喜欢恒宇少年的相关文章,那么就去微信公众号(恒宇少年)关注我吧!!! 当然你也可以去 SpringCloud码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!

恒宇少年的干货系列

恒宇少年的开源框架

这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划,将公司使用到的工具以及插件进行升级重构并且开源。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SpringCloud组件:Eureka高可用集群部署

    我们在之前的章节SpringCloud组件:搭建Eureka服务注册中心学习到了单个服务注册中心的创建,不过单模式的部署方式在实战中确实不太提倡,因为有很多种原...

    恒宇少年
  • 自定义ApiBoot Logging链路以及单元ID生成策略

    ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的P...

    恒宇少年
  • SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态

    系统的监控在分布式的设计中显得尤为重要,因为分开部署的缘故,并不能及时的了解到程序运行的实时状况,之所以重要所以SpringBoot也给我提供了一套自动监控的A...

    恒宇少年
  • 学习一下,Dubbo创始人当年花10分钟撸的RPC骨架

    因为要上实训课,让新同学们自行实现一个简易RPC框架,在准备PPT时,就想写个示例,发现原来一个RPC框架只要一个类,10分钟来就可以写完了,虽然简陋,也晒晒。...

    黄泽杰
  • ceph-immmutable-object-cache源码分析

    目前官方提供了ceph-immmutable-object-cache守护进程负责将内容缓存到本地缓存目录上。为了获得更好的性能,建议使用SSD作为底层存储介质...

    Lucien168
  • 【RPC 专栏】简单了解RPC实现原理

    芋道源码
  • 用shell写ssh快速链接工具-1.0

      这里有一个问题,就是在使用ssh的时候会有一个等待用户输入密码的过程。不能直接一条命令链接ssh。我们可以通过 expect 来解决。

    何白白
  • 设计模式--动态代理的思考

    在一些第三方框架中经常能看到动态代理的案例,尤其是RPC框架,ORM框架等,该篇将分析这些实现的原理,另外延伸在业务中的使用示例.

    屈定
  • simpleui的专业版 simplepro发布

    SimplePro 今日(2019-10-18)开启内测,内测期间 0.2元可以体验30天,从购买日的第二天开始计算。

    小贝壳
  • 大数据在服务器运营中的应用

    前言 腾讯公司从2012年开始,通过对服务器运营流程、工具系统的建设,服务器从一线到三线的运营基本转入线上自动化。在服务器静态配置、动态的运行状态和生命周期各个...

    鹅厂网事

扫码关注云+社区

领取腾讯云代金券