在使用的机器中,大部分都是用ssh来访问, 但是, 我们也有几台老旧的机器, 没有SSH,只有RSH.
ssh 和 rsh的区别主要有:
1 安全级别不同, 主要是ssh的密码等都是加密传输,而且还有密钥认证的机制, rsh明文传输. 而且没有密钥的机制. 具体,文章一大批
2 不用输入密码登录的方式不同. 在ssh中, 本地.ssh存放private key, 把public key加入远程的.ssh/authorized_keys中, 就可以实现不输密码登录和执行远程命令,本机改变时,只需要保留私钥此种方式就可以仍然继续. rsh中, 需要把本机的ip地址和用户名加入到远程机器的.rhosts文件中, 才可以做到这点, 当本机ip发生改变时, 还需要修改远程的那个文件.
3 使用中, 发现诡异的一点就是, ssh会收集远程命令的退出状态, 而rsh则无论怎样都返回0. 此点是对编写可移植shell程序的一大挑战. 毕竟要远程执行命令时,使用ssh就可以直接获得远程命令的退出状态, 不需要附加的检测. 但是, 对于rsh而言, 由于其都返回0, 故而,使用rsh执行远程命令时, 还需要附加一个检测远程命令状态的机制, 而此机制可能与具体应用相关, 给通用性带来一定的困难.
阅读(5415) | 评论(1) | 转发(0) |