Mac/Linux下配置远程Linux服务器免密登录
你还在为你每次打开测试环境
、生产环境
需要登录而犯愁吗?
登录是必须的,但密码是可或缺的!!!
因为前两章讲到了Gitolite
服务端的配置,配置客户端时是采用的SSH
方式授权登录的Git Server
,如果你看过我的文章应该对open-ssh
有一定的了解,我们本章的内容同样也是需要open-ssh
的支持。
本章目标
访问Linux/Ubuntu
免密码SSH
方式登录。
安装openssh-server
如果你的服务器
并没有安装openssh-server
需要执行下面的命令进行安装:
1 | ubuntu@yuqiyu:~$ sudo apt-get install openssh-server |
安装openssh-client
Mac
系统自带openssh
,所以不需要再次安装。
如果你是Linux
系统作为client
,执行如下命令安装:
1 | client@other:~$ sudo apt-get install openssh-client |
Mac下生成SSH KEY
打开Mac
系统自带的终端
,通过ssh-keygen
命令来进行生成ssh key
信息,命令如下所示:
1 | ssh-keygen -t rsa |
不需要自定义配置信息,所有的询问通过回车跳过即可。
生成的文件去了哪里?之前也讲过位置,在这里再简单的说下,默认的位置在当前用户根目录下的.ssh
隐藏目录内:
1 | // 执行查看命令 |
远程Linux服务器授权公钥
先通过用户名密码
的方式登录远程Linux
服务器,把我们上一步生成的id_rsa.pub
文件的内容复制到authorized_keys
文件内,如下所示:
1 | ubuntu@yuqiyu:~$ echo "公钥内容" >> ~/.ssh/authorized_keys |
公钥内容
:在上面命令中公钥内容
就是生成的id_rsa.pub
文件内容
测试免密登录
在本地终端输入如下命令测试是否可以直接连接到远程服务器
:
1 | ssh ubuntu@192.168.1.75 |
ubuntu
:访问远程服务器的用户名192.168.1.75
:你的远程服务器的IP地址,根据实际情况而定
如果配置没有问题是直接可以访问到远程服务器的,这样是不是很简单?
SSH Config
那如果你感觉通过
ssh user@ip
的方式比较麻烦(因为平时服务器较多的情况下会出现记错的情况而导致无法登录),我们还有更简单的方式。
通过修改本机的.ssh/config
文件可以进行配置访问远程服务器的基本信息,下面是我的配置:
1 | Host owner |
配置文件保存退出,我们再次在终端输入如下命令进行测试免密登录:
1 | ssh owner |
发现同样可以免密进行登录,在这里的owner
就是我们在~/.ssh/config
配置文件的Host
值,我们通过执行ssh owner
,ssh
就会去找配置该owner
的Host
信息,然后再次访问远程服务器。
Mac/Linux下配置远程Linux服务器免密登录