SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(NetworkWorking Group)所制定;SSH为建立在应用层基础上的安全协议。采用非对称加密方式。
一、基于口令的安全验证
1客户发送登陆请求
2服务器端发送自己的公钥给客户端
3客户端用公钥加密自己的密钥发送给服务器端
4服务器端用自己的公钥解密加密后的密钥并进行比对。(当有人伪造服务器发送给用户自己的公钥的时候就会存在隐患,用户一旦用伪造的公钥加密自己的密钥发送到伪造的服务器上,就GG了)。
二、基于密匙的安全验证
这种方式你需要在当前用户家目录下为自己创建一对密匙,并把公匙放在需要登录的服务器上。当你要连接到服务器上时,客户端就会向服务器请求使用密匙进行安全验证。服务器收到请求之后,会在该服务器上你所请求登录的用户的家目录下寻找你的公匙,然后与你发送过来的公匙进行比较。如果两个密匙一致,服务器就用该公匙加密“质询”并把它发送给客户端。客户端收到“质询”之后用自己的私匙解密再把它发送给服务器。这种方式不需要输入密码。
三、ssh相关命令
ssh最基本命令
登陆
ssh [-l login_name] [-p port] hostname
ssh -l root -p 22 192.169.1.1
退出exit
ssh-keygen -t rsa
生成rsa密钥对,也可以是别的加密方式。然后全部回车,采用默认值。这样生成了一对密钥,id_rsa id_rsa.pub,存放在用户目录的~/.ssh下
进入到.ssh目录下,执行如下命令,公钥写入认证文件中
cat id_rsa.pub >> ~/.ssh/authorized_keys
设置authorized_keys权限
chmod 600 authorized_keys
设置
.ssh
目录权限
chmod 700 -R .ssh
然后你ssh localhost肯定没问题了,如果要想登到别人那的话,把自己公钥认证文件发过去吧。记住,相同用户的家目录的.ssh文件夹下