【重要】Linux集群中使用SSH进行免密登录

基本概念

host宿主
hostname主机名

Putty和Xshell

  • PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。

  • Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows平台的TELNET 协议。它可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。


SSH密钥对登录原理

  1. 利用密钥生成器制作一对密钥——一只公钥和一只私钥。
  2. 将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。

这样一来,没有私钥,任何人都无法通过 SSH暴力破解你的密码来远程登录到系统。

此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

SSH登录远程主机的三种命令

1. ssh master
(提前已经再/etc/hosts中设置好了主机名与主机的对照列表)

2. ssh wangguowei@master
()

3. ssh 192.168.194.130
(主机和从机,客户端和服务器在同一个网段中)

【重要】Linux集群中使用SSH进行免密登录_第1张图片
【重要】Linux集群中使用SSH进行免密登录_第2张图片


【重要】配置密钥对的方法

主机的配置

1. ssh-keygen -t rsa

2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3. scp ~/.ssh/authoriezd_keys wangguowei@slave0:~/

从机的配置

1. ssh-keygen -t rsa

2. mv ~/authorized_keys ~/.ssh

3. cd ~/.ssh

4. chomod 600 authorized_keys

注意:上述修改文件权限的操作在主机和从机中都要进行,否则会出现这里的问题


JPS命令不能启用的原因(其他外部命令同样适用)

这个命令实际上是Java的jdk目录下的bin目录中的一个命令,类似于Linux中的ps命令,作用是显示当前系统的进程情况及其ID

  1. 该命令被删除或者没有安装jdk
  2. java环境变量没有配置正确PATH
  3. 用户级的环境变量配置文件没有启动,需要手动启动一下

SSH协议的深入理解

简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。这里只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH,会用到另一种软件PuTTY,这需要另文介绍。

【重要】Linux集群中使用SSH进行免密登录_第3张图片

你可能感兴趣的:(Linux,ssh,linux,服务器)