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 [email protected]
  • 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码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!

恒宇少年的干货系列

  • SpringCloud相关系列文章访问:https://www.jianshu.com/p/64e4aaada96b
  • SpringBoot相关系列文章请访问:http://www.jianshu.com/p/9a08417e4e84
  • QueryDSL相关系列文章请访问:http://www.jianshu.com/p/99a5ec5c3bd5
  • SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84

恒宇少年的开源框架

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

  • 代码生成器(Code-Builder)
    code-builder代码生成器根据你提供的模板文件(目前支持freemarker)自动生成实体类,可以很大很有效的提高开发效率。
    Gitee地址:https://gitee.com/hengboy/code-builder
    Github地址:https://github.com/hengyuboy/code-builder
  • 持久化框架(MyBatis-Enhance)
    mybatis-enhance是一个对mybatis框架的增强封装,提供一系列的内部方法来完成单表数据的操作,多表数据提供DSL方式进行操作。
    Gitee地址:https://gitee.com/hengboy/mybatis-enhance
    Github地址:https://github.com/hengyuboy/mybatis-enhance
  • 自动分页插件
    MyBatis-Pageable是一款自动化分页的插件,基于MyBatis内部的插件Interceptor拦截器编写完成,拦截Executor.query的两个重载方法计算出分页的信息以及根据配置的数据库Dialect自动执行不同的查询语句完成总数量的统计。
    Gitee地址:https://gitee.com/hengboy/mybatis-pageable

你可能感兴趣的:(Linux杂谈:Mac/Linux下配置远程Linux服务器免密登录)