配置私钥访问多个服务器

客户端:MacOSgit

服务端:CentOSwindows

其余系统操做相似。bash

 

1. 客户端生成密钥。服务器

ssh-keygen -t rsa -C "mac"

* -C 是注释的意思,若是你有多个密钥,价格注释比较好区分ssh

* windows系统可能没有ssh-keygen命令,装一个git-bash就行了post

2. 上述命令一直敲回车,会生成两个文件id_rsa,id_rsa.pub,前面是私钥,后面是公钥。rest

  私钥放到本机~/.ssh目录下,改个名字:id_rsa_mac,方便之后增长其余密钥,在~/.ssh目录下新建config文件,内容以下:code

# 这里是注释
Host sample
    HostName 你的服务器地址
    Port 你的ssh端口,默认22
    User 登陆用户名
    IdentityFile ~/.ssh/id_rsa_mac

3. 将上面的公钥id_rsa.pub打开,全文复制,而后到服务器上进行以下操做:(特别注意:你想免密码登录哪一个帐号,就在相应帐户的目录下进行操做,我以前一直失败就是这里没配好,网上的教程也不多提醒这个)blog

  进入~/.ssh目录(若是没有则新建)教程

  打开authorized_keys文件(没有则新建),在末尾粘贴id_rsa.pub的内容,保存。

  .ssh目录访问权限设置为700,authorized_keys权限设置为644,owner都是当前帐户。

4. 编辑/etc/ssh/sshd_config文件,最后增长几行:

RSAAuthentication yes
PubkeyAuthentication yes
Port 你的ssh端口

5. 执行services sshd restart,重启sshd服务

 

如今,你就能够在客户端执行ssh sample直接登录这台服务器了!(若是仍是提示你输入密码,那么就是没有配置成功,请仔细检查前面的步骤)

想使用不一样帐户登录?太简单了,ssh user1@sample, ssh user2@sample,只要相应帐户目录下正确配置了authorized_keys,都没问题,开始High吧!

相关文章
相关标签/搜索