加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

密钥方法远程登录Linux, ssh rsa xshell putty

发布时间:2022-09-16 16:01:20 所属栏目:Linux 来源:
导读:  作为程序员Linux 远程登录,远程登录Linux服务器,是必修课。

  登录方法有两种,常用的用户名和密码,这样的方法存在一定的安全隐患,别人可以用暴力方法强行破解你的密码。

  密钥登录方法原理:
  作为程序员Linux 远程登录,远程登录Linux服务器,是必修课。
 
  登录方法有两种,常用的用户名和密码,这样的方法存在一定的安全隐患,别人可以用暴力方法强行破解你的密码。
 
  密钥登录方法原理:
 
  1、用户生成一对密钥(公钥和私钥),将公钥copy在SSH服务器的authorized_key文件中(支持存放多个公钥,便于台态机器远程登录).
 
  2、私钥则保持于本地计算机中.当用户登陆时,服务器检查authorized_key文件的公钥是否与用户的私钥对应,如果相符则允许登入,否则拒绝.
 
  结果:由于私钥只保存在用户的本地计算机,即便入侵者就算得到用户口令,也无法登陆服务器.
 
  Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接。
 
  Public Key认证的基础在于一对密钥,public key和private key,public key对数据进行加密而且只能用于加密,private key 只能对所匹配的public key加密过的数据进行解密。
 
  我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。
 
  此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。
 
  最后,远程系统的sshd会得出结论我们拥有匹配的private key允许我们登录。
 
  本文不细究原理,只讲怎么设置。
 
  如果对RSA的数学方法有兴趣,可以参考
 
  RSA算法原理(二) - 阮一峰的网络日志
 
  登陆目标机器:Linux系统:Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-32-generic x86_64)
 
  登陆使用的机器:windows 10
 
  登陆用的软件,介绍两款:xshell ,putty。
 
  比较xshell和putty
 
  xshell是商业软件,但是有免费版,很好用,是多功能的集合,今天之前我一直都用这个。许多菜单提供了很多有用的 功能。
 
  今天用了下putty,发现小巧灵动,xshell的集成功能,是很方便,但是让你失去了探索的机会,putty很多东西需要自己手动配置,但是会极大帮助你理解背后的原理。
 
  各有千秋,根据需求选择即可。
 
  主要的步骤:
 
  1、本机生成密钥对
 
  2、存储密钥文件
 
  3、复制公钥到目标机器的~/.ssh/authorized_keys文件中
 
  4、取消目标机器用密码登陆的限制
 
  这里介绍三种方式:
 
  1、用window的xshell登陆linux服务器
 
  2、用window的putty登陆linux服务器
 
  3、从linux登陆到另一台linux
 
  三个方式的前提都是:
 
  配置文件/etc/ssh/sshd_config 中,启用了RSA登陆
 
  1.1 用xshell生成密钥对,在xshell中:
 
  Linux 远程登录_linux 远程桌面工具_linux远程windows桌面
 
  Linux 远程登录_linux远程windows桌面_linux 远程桌面工具
 
  Linux 远程登录_linux远程windows桌面_linux 远程桌面工具
 
  linux远程windows桌面_Linux 远程登录_linux 远程桌面工具
 
  密钥名可以任意设置,建议保留默认名,下面的两个框是输入密钥的加密,也就是双保险,可以设置,也可以留空。
 
  linux 远程桌面工具_Linux 远程登录_linux远程windows桌面
 
  记得把ssh-rsa及下面所有文本copy下来,复制到txt,这个在后续会放在authorized_keys文件中。也可以选择保存这个文件,这个是公钥。
 
  Linux 远程登录_linux 远程桌面工具_linux远程windows桌面
 
  1.2 将公钥的内容,copy到目标linux中的~/.ssh/authorized_keys中,之后保存退出,这个需要几步的命令行知识,过程从略。
 
  1.3 设置session登陆
 
  linux远程windows桌面_linux 远程桌面工具_Linux 远程登录
 
  设置自己的session名称,目标host:port
 
  linux远程windows桌面_linux 远程桌面工具_Linux 远程登录
 
  填上自己在目标主机上的账号用户名,从下拉框中选择刚刚创建的密钥(这是私钥)
 
  点击ok,可以登陆成功。
 
  如果没有成功,建议重启下linux的ssh服务
 
  2. 用puttygen (生成密钥对),用putty登陆
 
  两个的下载地址:Download PuTTY: latest release (0.68)
 
  2.1 用puttygen生成密钥
 
  双击下载的puttygen.exe
 
  linux 远程桌面工具_Linux 远程登录_linux远程windows桌面
 
  记得在进度条附件来回滑动鼠标,否则会一直停着不动。
 
  Linux 远程登录_linux 远程桌面工具_linux远程windows桌面
 
  linux远程windows桌面_linux 远程桌面工具_Linux 远程登录
 
  与之前的一样,保存私钥文件,并且copy公钥中的内容。
 
  私钥文件的类型,一定要默认的ppk,请记住这个目录,后续要设置。
 
  然后关闭。
 
  2.2 将公钥的内容,copy到目标linux中的~/.ssh/authorized_keys中,之后保存退出,这个需要几步的命令行知识,过程从略。
 
  2.3 用putty登陆linux
 
  双击下载的putty文件
 
  Linux 远程登录_linux远程windows桌面_linux 远程桌面工具
 
  填上目标机器的host和port
 
  saved sessions中填上这个session的名字,全部参数都设置完成后,点击save,以后打开时可以直接加载这个session,无需每次都输入参数。
 
  为避免登陆后,出现乱码,选择UTF-8
 
  linux 远程桌面工具_linux远程windows桌面_Linux 远程登录
 
  linux 远程桌面工具_Linux 远程登录_linux远程windows桌面
 
  设置登陆的用户命,如果没有设置也没关系,系统会提示你输入用户名。
 
  linux远程windows桌面_linux 远程桌面工具_Linux 远程登录
 
  选中私钥,点击open,即可登录。
 
  3、从linux登录到另一台linux
 
  3.1 生成密钥对:ssh-keygen -t rsa
 
  3.2然后将生成的id_rsa文件copy到本地的~/.ssh$ 目录中,将生成的id_rsa.pub文件中内容,copy到目标机器的~/.ssh/authorized_keys文件中
 
  3.3 ssh user_name@Host 即可登录
 
  最后,rsa可以成功登陆后,可以配置文件/etc/ssh/sshd_config ,关闭密码登陆。
 
  小备注:sublime中有个很好用的SFTP的插件,之前用账号和密码远程登陆时,
 
  sftp-config.json中配置的是用户名和密码
 

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!