ssh-keygen配合ssh_config免密码登陆VPS

ssh-keygen配合ssh_config免密码登陆VPS

Posted by fiture / 2012年12月29日 / 「Ubuntu」「分享」

用过终端登陆远程服务器或者VPS的童鞋都用过相似的命令:ssh username@hostname.com,输入密码后就能够登陆远程服务器了,可是人老是懒滴,Here,免输入密码登陆远程服务器的方法:

打开终端,本地生成id_rsa(私钥),id_rsa.pub(公钥):
ssh-keygen -t rsa
如图所示(一路按enter键):

ssh-keygen

公钥(id_rsa.pub)和私钥(id_rsa)默认生成在:~/.ssh/ 目录下。

拷贝公钥到远程服务器上,或则其余地方whatever…
scp ~/.ssh/id_rsa.pub username@hostname.com:~/.ssh/
上面的username换成你的用户名,和服务器地址。而后你须要登陆到你的远程服务器上操做。

登陆远程服务器操做
ssh username@hostname.com
输入密码后登陆,也许是你最后一次登陆服务器须要密码。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
大功告成,logout若是你没操做错误的话,你就能够在客户端输入 ssh username@hostname.com登陆服务器了,不用输入密码。

配置SSH CONFIG
touch ~/.ssh/config
新建一个自定义ssh config文件

vim ~/.ssh/config
用VIM或者其余编辑器打开config文件,配置config, 粘贴如如下格式内容,保存:

Host vps(这里是自定义的host简称,之后链接远程服务器就能够用命令ssh vps)
  User 这里填用户名(如:root)
  HostName 这里填服务器地址也能够是域名(如:server.xxoo.com)
  Port 这里填服务器open-ssh端口(默认:22)
  IdentityFile 这里是刚刚生成的私钥文件地址(如~/.ssh/id_rsa)

其实这个东西能够用来配置你链接不一样的远程服务器,好比有两个github帐户,或者两个git服务器等等。

貌似你如今能够用ssh vps登陆远程服务器了。一直记不住这些东东,就先上这一笔记吧,仅供参考。

PS..ssh-keygen命令中-t表明生成文件的类型如rsa,dsa等等,而后-C参数貌似是一个注释吧,Provides a new comment. 若是用ssh-keygen -t rsa -C "注释内容,通常为邮件地址",生成的公钥后面会带上注释,暂时我也不知道拿来干吗的。。。

更多内容:

http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen

http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config
相关文章
相关标签/搜索