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 条评论
登录 后参与评论

相关文章

来自专栏贺贺的前端工程师之路

如何在github上创建个人项目的在线演示demo

以前是看到别人的GitHub上的项目源码中,后面会跟着一个网址,是该项目的demo,可是就单纯的没有再去思考,我是不是也可以把自己的项目这样放到GitHub上去...

1051
来自专栏云计算教程系列

如何在Ubuntu 12.04上安装和配置AppScale

AppScale是一个开源计算平台,旨在在公共云,私有云和内部部署集群上部署Google App Engine应用程序。AppScale与Google App ...

1850
来自专栏陈树义

如何在IntelJ下用Maven创建一个Web项目

相信一开始做Web项目的同学都是直接把项目包放在WEB-INF/lib目录下,然后就开始做项目了。但是之后接触了一些使用了Maven进行包管理的项目,我们就不得...

2776
来自专栏破晓之歌

15款Django开发常用软件包 原

1. Python social auth 一款社交账号认证/注册机制,支持Django、Flask、Webpy等在内的多个开发框架,提供了约50多个服...

752
来自专栏云计算教程系列

如何更改SELinux模式

Security Enhanced Linux是一个Linux安全模块,用于强制或基于角色的访问控制。SELinux默认与CentOS和Fedora打包在一起,...

2522
来自专栏云霄雨霁

数据库事务总结

2156
来自专栏coding for love

git基础之github使用入门

参加实习以后,开始接触多人协作开发工具,前期主要是svn,现在工作中已经全面使用git。公司的项目目前放在gitlab上,所以平时涉及的操作比较简单,加之之前s...

902
来自专栏懒人开发

bpkg工具

最近接手一个项目 本来是jenkinsfile相关, 但是由于这里很多实现都是用的shell 并且还是用的 bpkg 做的管理, 再在bpkg基础上, 写了...

1813
来自专栏Web项目聚集地

MyBatis-逆向工程「Generator使用指南」

当你利用搜索引擎搜索Maven会出来很多名词:对象模型、标准集合、依赖管理系统这是啥啊?差不多得你会用了Maven才会理解这些名称吧,我找到了一个博主的博客

1622
来自专栏枕边书

LINUX下的PHP

由于linux系统的稳定性,大部分的PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好的支持,所以对于PHP程序员来说,使用lin...

4008

扫码关注云+社区

领取腾讯云代金券