配置ssh 无需密码便可登陆远程服务器

在平时工做或者开发本身的项目时,常常须要登陆部署了项目代码的服务器来作一些调试,配置等相关的操做,像sftp、rsync之类的工具也是基于ssh通道来工做的。可是常常输密码登陆服务器又会让人以为很烦,本文就来简单讲一下如何配置ssh让咱们在Mac或者Linux终端中无需密码便可登陆远程服务器。服务器

用ssh命令来远程登陆服务器 如:ssh

ssh kevinyan@145.xx.xx.152

用kevinyan这个用户经过ssh 链接145.xx.xx.152 这台服务器。
可是这样输入老是须要输入kevinyan这个用户的密码才能登陆服务器,若是想不输入密码便可链接服务器,须要先将客户端的rsa公钥放入服务器用户家目录下的.ssh/authorized_keys文件中。工具

  1. 生成SSH KEY加密

    ssh-keygen -t rsa -c  'example@qq.com'

    -t rsa 表示生成rsa方式加密的公钥 -c后是注释可不填,而后一路回车, 就会在客户端电脑用户家目录的.ssh目录下生成id_rsa(私钥)和id_rsa.pub(公钥)。调试

  2. 将id_rsa.pub里的内容粘贴进服务器/home/kevinyan/.ssh/authorized_keys文件中,若是是第一次配置须要新建authorized_keys文件(若是authorized_keys里已有其余客户端的公钥,那么把你的公钥追加进去便可)

若是客户端使用的是LINUX系统那么步骤2也能够用ssh-copy-id命令来完成复制公钥到远程主机上的操做code

ssh-copy-id -i ~/.ssh/id_rsa.pub   kevinyan@10.xx.xxx.152

如今在终端里只须要输入 ssh user@host 就能登陆上远端的服务器了。
这里有两点须要注意开发

  • 服务端的authorized_keys文件的权限必须是600。
  • ssh-keygen命令重复执行会覆盖以前生成的密钥文件(会询问是否覆盖), 因此只生成一次 之后链接其余服务器都用这个公钥文件就行。
相关文章
相关标签/搜索