设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

LINUX中RSA认证登录SSH不需要输入密码登录2种方法介绍

发布时间:2022-06-16 14:05 所属栏目:48 来源:互联网
导读:
导读:每次登录服务器都需要输入密码感觉有一点复杂了,下面小编为各位介绍LINUX中RSA认证登录SSH(不需要输入密码登录)2种方法,希望对大家有帮助. 方法1,使用Linux主机生成的密匙. 1、生成密匙 [root@www.phpfensi.com .ssh]#ssh-keygen -t rsa Generating public/p
  每次登录服务器都需要输入密码感觉有一点复杂了,下面小编为各位介绍LINUX中RSA认证登录SSH(不需要输入密码登录)2种方法,希望对大家有帮助.
 
  方法1,使用Linux主机生成的密匙.
 
  1、生成密匙
 
  [root@www.phpfensi.com .ssh]#ssh-keygen -t rsa
  Generating public/private rsa key pair.
  Enter file in which to save the key (/root/.ssh/id_rsa):
  Enter passphrase (empty for no passphrase):
  Enter same passphrase again:
  Your identification has been saved in /root/.ssh/id_rsa.
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  The key fingerprint is:
  e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@www.phpfensi.com
  2、将 /root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
  [root@www.phpfensi.com.ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
  
       3、将私钥id_rsa拷贝到远程客户端
 
  1)、如果远程客户端是linux,拷贝到远程客户端/root/.ssh/即可.
 
  2)、putty作为远程客户端在
 
  putty不能识别直接从服务器拷贝来的私钥,需要使用puttygen.exe进行格式转换.
 
  (1)、打开puttygen.exe --> Conversions --> Import Key
 
  (2)、选择拷贝过来的私钥文件id_rsa
 
  (3)、Save private key->id_rsa.ppk(保存私钥)
 
  4、打开putty.exe
 
  1)、Session --> Host Name (填写服务器地址或者域名)
 
  2)、Connection --> SSH --> Auth (点Browse选择刚生成的id_rsa.ppk)
 
  3)、open
 
  成功打开后出现如下提示:
 
  login as: root
  Authenticating with public key "imported-openssh-key"
  
  ----------------------------------------------------------------------------------
  当然你有可能会遇到这个错误 [因为我遇到了,呵呵]:
 
  Permissions 0755 for '你配置的公钥文件路径' are too open.
 
  这个是因为这几个文件权限设置的有点问题,执行命令:chmod 600 你的文件。

  方法2:有的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐,所以设置了一下使用RSA公钥认证的方式登录Linux,首先需要在服务器端设置/etc/ssh/sshd_config:
 
  # vim /etc/ssh/sshd_config
 
  修改如下两行为yes,其实大多数情况下不用修改,默认就是yes.
 
  RSAAuthentication yes
 
  PubkeyAuthentication yes
 
  (1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法,后面第2节会提到怎么在Windows下使用Putty生成密钥对,我们需要在客户端生成RSA密钥对,使用ssh-keygen命令:# ssh-keygen -t rsa
 
  参数t的意思是type,后面跟着加密类型,这里我们是rsa,然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录,如果你生成的密钥作为其他用处,那么可以命名为其他名称:
 
  Generating public/private rsa key pair.
 
  Enter file in which to save the key (/home/cake/.ssh/id_rsa):
 
  之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码.
 
  Enter passphrase (empty for no passphrase):
 
  Enter same passphrase again:
 
  然后会提示你密钥生成成功,这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub.
 
  我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后,你可以把这个文件上传到服务器端,然后使用命令:
 
  # cat id_rsa.pub >> ~/.ssh/autherized_keys
 
  到这里就完成了.
 
  (2) 在Windows下使用Putty生成密钥对:Putty的安装目录下有个puttygen.exe程序,我们运行这个程序,之后点击Generate,开始生成密钥对,我们需要根据提示,在指定方框内随机滑动鼠标,这是为了根据鼠标轨迹,产生一些随机数据.
 
  之后生成结束,我们点击Save Private Key将私钥存放在某个目录中,然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后.
 
  我们现在可以关闭这个小程序,现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了,到此位置,Putty也可以不用密码登录了.
 
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读