Linux配置实现免密钥登录教程

  • 来源:网络
  • 更新日期:2020-08-12

摘要:1.ssh命令在linux中,可以通过ssh命令来登录另一台服务器。打开两台linux虚拟机,一台Linux01的ip为192.168.226.128,另一台linux02为192.168.226.129,开机后在linux01终端输入: ss

1.ssh命令

在linux中,可以通过ssh命令来登录另一台服务器。打开两台linux虚拟机,一台Linux01的ip为192.168.226.128,另一台linux02为192.168.226.129,

开机后在linux01终端输入: ssh 192.168.226.129 ,然后会提示输入linux02的登录密码,输入后就可以在linux01上登录linux02了,可以进行命令操作,ssh命令的两种方式

ssh ip地址(默认是root用户) 以root用户的身份登录

ssh 用户名@ip地址      以指定用户身份登录

2.免密钥登录解决的问题

现在要想在linux01上登录linux02系统,需要在ssh ip地址后再手动输入密码后才能进入linux02服务器,但是配置免密钥登录后,直接输入ssh命令就可以登录,不在需要手动输入密码。免密钥登录解决了集群之间相互访问受密码的限制。什么是集群?

集群就是很多的服务器干一件事(服务器与服务器之间处于联通状态并且可以传递数据)

3.配置免密钥登录:

只要是在集群中的服务器,都需要配置免密钥,并不是只配置一台,其他机器就可以使用了

3.1在服务器linux01上生成私钥和公钥ssh-keygen -t rsa,然后点击四次回车,不要输入任何密码,否则免密钥失败,看到如下信息配置成功

1234567891011+--[ RSA 2048]----+| .o. || .E. || .. . || o . || S o .. || o oooo || . o.+=. || .B... || .+.=+. |+-----------------+

3.2在自己的电脑上复制一份公钥同时在其他的服务器上也生成一份,ssh-copy-id 192.168.226.128,ssh-copy-id 192.168.226.129

此过程需要手动输入一次密码,这样就在linux01服务器上和linux02服务器上都放置了一份公钥,通过公钥来实现免密钥登录,看到如下信息配置成功:

  Now try logging into the machine, with "ssh '192.168.23.144'", and check in:.ssh/authorized_keys  to make sure we haven't added extra keys that you weren't

3.3在linux01的hosts中配置hostname映射:vim /etc/hosts,

3.4,重复上面的步骤配置linux02,如果有多台服务器,就在复制公钥时在每一台服务器上都复制一份,ip映射也要配置每一台主机的映射,最后测试输入ssh ip地址可以直接登录不需要输密码

文件传输: scp -r 要复制的文件/文件夹 目标ip地址或hostname:目标文件夹路径

如要将linux01上的apps文件夹发送到linux02的home中:scp -r /home/apps 192.168.226.129:/home/ 或 scp -r /home/apps linux02:/home/

就可以传输文件了