Mac下免密码ssh远程主机

近来发现iTerm2实在酸爽,于是想把一切都配到iTerm2上。
之前我用的是SecureCRT登陆机器,比较方便,这下直接变成命令行了,研究了一下免密码登陆机器的方法,总结如下。

生成自己的公钥和私钥

$ ssh-keygen

一路回车,需要特别注意的是,passphrase这里是设置公钥加密的,请直接回车。不然ssh是免输密码,可使用公钥又要密码。
运行以上命令后,会在~/.ssh下生成两个文件,id_rsa.pub和id_rsa。第一个是你的公钥,第二个是你的私钥。

为Mac安装ssh-copy-id命令

接下来需要用ssh-copy-id命令把自己的公钥放到远程机上,让远程机认识你。但是Mac原生并没有Linux下的ssh-copy-id命令,使用万能的homebrew来安装一下。

$ brew install ssh-copy-id

拷贝公钥

安装完成后可以使用ssh-copy-id命令拷贝自己的公钥到远程机上

$ ssh-copy-id username@host.com

同样一路回车,这样就把你的公钥放到远程机器username用户的文件夹下,在~/.ssh/authorized_keys文件里。文件的最后会有你本机的名字。

大功告成

此后只需使用这个命令就可以免密码登陆远程主机。

$ ssh username@host.com

别忘了Alias

$ alias dev="ssh 'username@host.com'"

然后把上面的这段放到~./bash_profile里,于是我了解到这个世界上是没有最懒只有更懒的:)