ssh为建立在应用层和传输层基础上的安全协议,ssh不仅能把所有传输的数据加密,还能够防止IP和DNS欺骗
ssh的加密方式有RSA, DSA, ECDSA和ED5519四种方式。
1. 安装ssh
ssh通信分为客户端(openss-client)和服务器端(openssh-server), 发送信息的为客户端,接受信息的为服务器端,
为了实现机器之间的相互通信,在机器上都安装客户端和服务器端,通过下面命令:
sudo apt-get install openssh-client openssh-server
要实现机器之间通信,服务器端sshd要保持正常运行,通过下面命令:
sudo /etc/init.d/ssh start
2. ssh实现两台机器之间的文件拷贝上传
假设机器A的IP为192.168.1.101, 机器名为hostA, 用户名为usernameA;
机器B的IP为192.168.1.102, 机器名为hostB, 用户名为usernameB.
机器A通过下面命令IP访问B:
ssh username@192.168.1.102
username为机器B的用户名
在机器A上从远程端机器B拷贝文件:
scp usernameB@192.168.1.102:/pathB/fileB /pathA
在机器A上从远程端机器B拷贝文件夹:
scp usernameB@192.168.1.102:/pathB /pathA
在机器A上向远程端B上传文件:
scp /pathA/filenameA usernameB@192.168.1.102:/pathB
在机器A上向远程端B上传文件:
scp /pathA usernameB@192.168.1.102:/pathB
3. 两台机器无密码登录
假设机器名分别为node0和node1,node0的IP为10.141.4.36,node1的IP为10.141.4.39,两台主机均使用用户名cluster。
1. 在node0和node1上进行如下操作:
在/etc/hosts文件中添加如下内容:
10.141.4.36 node0
10.141.4.39 node1
在主目录/home/liu下执行如下命令,生成.ssh目录:
ssh-keygen -t rsa
2. j进入root 用户在node1的/home/liu/.ssh目录下执行如下命令:
cp id_rsa.pub authorized_keys
scp node0:/home/liu/.ssh/id_rsa.pub /home/liu/.ssh/tmp
cat tmp >> authorized_keys
rm tmp
3. 进入root用户在node0的/home/liu/.ssh目录下执行如下命令:
cp id_rsa.pub authorized_keys
scp node1:/home/liu/.ssh/id_rsa.pub /home/liu/.ssh/tmp
cat tmp >> authorized_keys
rm tmp
4. 检查node0和node1是否可以无需密码而直接互相登录:
ssh node0
ssh node1