前言前端
最近由于工做的开发环境转为Linux,因此尽管我是前端攻城师,仍是要熟悉一下开发环境,因此这里一边学习一边留下笔记.shell
正文vim
要经过终端链接一个远程主机,正常的配置是直接在命令行中:ssh user@192.168.1.1;而后输入秘密就行了.若是想经过SSH的方式进行免密码登陆,就要进行必定的配置.服务器
这里的环境是Mac <--> Linux之间的链接,首先经过命令行生成SSH密匙.通常在home目录下的.ssh文件夹(隐藏)生成密匙,首先进入文件夹.cd ~/.ssh;而后经过ssh keygen命令生成密匙,这里我生成的一个id_rsa和一个id_rsa.pub两个密匙.带有.pub后缀的是公匙,不带的时私匙.ssh
生成完毕后均可以打开里面就是一个长长的字符串,下一步要将公匙的内容复制到远程服务器的固定文件中.这里是但愿将~/.ssh/id_rsa.pub(Mac机)的内容复制到/home/elemedev/.ssh/authorized_keys(Linux机).编辑器
这样的一个操做你能够经过命令行的方式,也能够vim编辑器来复制内容.若是是复制能够用:sudo scp -r ~/.ssh/id_rsa.pub user@192.168.1.1:~/.ssh/authroized_keys;这一过程可能会报一些问题,好比复制的scp命令提示权限等问题,这里的权限要精确到目录,即你提取内容的目录和你接收内容的目录是否都拥有权限.这里最好不要切换root用户,直接使用sudo升权命令或者修改文件目录便可. 学习
而后再链接的时候,就不须要输入密码了,由于已经经过了SSH的密匙验证.spa
补充命令行
这样链接仍是要写用户名和地址的,若是你能够配置下.ssh/config文件,就能够经过更加方便的方式进行链接.code
在config文件中,按照以下格式配置:
Host 别名 HostName 主机名(IP) Port 端口号(默承认以忽略) User 登陆用户名 IdentityFile 密匙文件路径(包含文件名,不须要后缀)
而后直接经过命令: ssh 别名;这样就能够链接了.