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 ,然后点击四次回车,不要输入任何密码,否则免密钥失败,看到如下信息配置成功
+--[ 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/
就可以传输文件了