赞
踩
测试机器节点三台
主机host名称 | ip地址 |
note1 | 192.168.57.188 |
note2 | 192.168.57.189 |
note3 | 192.168.57.190 |
ssh配置的目录在 ~/.ssh目录中 这个目录默认不存在 需要使用命令ssh-keygen来创建公钥与私钥,三个节点都需要执行ssh-keygen生成钥匙
ssh-keygen
~/.ssh目录中有两个文件分别
文件名 | 作用 |
id_rsa | 保存自身公钥 |
id_rsa.pub | 保存私钥 |
使用ssh-copy-id命令可以将公钥发送到对应节点中
ssh-copy-id note1
发送完成之后会生成两个新文件
文件名 | 作用 |
authorized_keys | 保存免密访问的公钥 |
known_hosts | 保存主机名 |
authorized_keys文件中保存的是某一个访问节点的公钥id_rsa.pub 如果note1节点ssh免密访问note2节点 那么note2节点中的authorized_keys文件会记录note1节点中的公钥 即id_rsa.pub
这里已经配置了3个节点相互之间免密访问 命令如下
- #在节点note1上输入命令发送公钥
- ssh-copy-id note1
- ssh-copy-id note2
- ssh-copy-id note3
-
- #在节点note2上输入命令发送公钥
- ssh-copy-id note1
- ssh-copy-id note2
- ssh-copy-id note3
-
- #在节点note3上输入命令发送公钥
- ssh-copy-id note1
- ssh-copy-id note2
- ssh-copy-id note3
配置完成后的authorized_keys文件与known_hosts文件内容如下
生成公钥内容是随机的,每次尝试生成的内容都不相同
测试结果如下:
修改ssh登录普通用户切换root免密切换
首先创建用户设置密码,root修改文件vim /etc/sudoers 加入内容
用户名 ALL=(ALL) NOPASSWD: ALL
ssh远程kill进程
(1)远程获取进程id
pid=$(ssh 远程ip地址 "ps -ef | grep 需要kill的进程名称 | grep -v grep | awk '{print $2}'"| awk '{print $2}')
(2)远程kill进程
ssh 远程ip地址 "kill $pid"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。