[原]配置多个密钥免密码登录服务器简明教程

客户端:MacOS

服务端:CentOS

其他系统操作类似。

 

1. 客户端生成密钥。

ssh-keygen -t rsa -C "mac"

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

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

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

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

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

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

  进入~/.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吧!

posted @ 2018-03-26 23:46  sky0014  阅读(3191)  评论(0编辑  收藏  举报