Linux 命令scp & ssh免密登入

scp & ssh
集群模式下,各节点之间如何方便的拷贝文件?
命令格式:
scp file 远程用户名@远程服务器IP:/ (注意:冒号和目录之间不能有空格)
如果拷贝目录,需要加-r 选项。
使用root用户
eg: scp /etc/profile [email protected]:/etc
eg: scp -r /usr/jdk1.8 node2:/usr/java
如何方便的切换到其他节点??
ssh node2
免密登录
1, 在第一台机器上生成一对钥匙,公钥和私钥
Linux 命令scp & ssh免密登入
当前用户的宿主目录下的.ssh目录多了两个文件
Linux 命令scp & ssh免密登入
将公钥拷贝给要免密码登录的机器
注意:主机名和ip都可以(确保配置了主机名 ip的映射)
还需要输入密码

Linux 命令scp & ssh免密登入
拷贝完成之后,会在要免密登录的机器上生成授权密码文件
Linux 命令scp & ssh免密登入

验证免密码登录
Linux 命令scp & ssh免密登入

注意:免密码登录是单向的

ssh免密登录原理:
1, node1 使用 ssh-****** –t rsa 生成公钥和私钥
2, ssh-copy-id [email protected] 将公钥拷贝到node2上,实际上是把公钥内容追加到 authorized_keys文件中。

请求时:
1,node1向node2发送连接请求时,附带主机,ip地址等信息
3, node2收到请求后,去授权文件里查找node1的公钥,找到之后,随机生成一个字符串,并用公钥加密,并发送给node1
4, node1接收到密文之后,用私钥解密,并把解密结果返回给node2
5, node2拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。