一般都是在自己的本地机器上对服务器进行操作,本人使用的是secureCRT。使用SecureCRT连接远程主机使用的是SSH2协议。这个协议是Unix系统远程连接的协议,端口号是22。
在工业界,集群中的服务器会非常多,如果每次都要输入密码来进行操作会很麻烦,而且不利于自动化部署操作,所合进行免密设定就会很重要!
SSH:是一种远程登录的安全外壳协议,有两种身份验证机制:
第一种:用户名+密钥验证
第二种:密钥验证
针对第二种:在一台主机上(A)生成一对加密的密钥:公钥和私钥。之后把公钥复制一份给另外一台主机(B),并且在B上进行授权在一个文件中。之后在每次A连接B的时候,B就会针对传过来的公钥进行验证发送一个进行加密的给A,A通过私钥进行解密,如果解密通过就能直接连上,而不需要输入密码了!
免密登录示意图如下:
命令:ssh-keygen 生成密钥对
如果是自己将公钥拷贝过去的话还要手动配置到B的授权列表文件authorized_keys,所以可以使用简单操作:
配置主机之间的免密ssh登录
假如 A 要登录 B
在A上操作:
(1)首先生成密钥对:
ssh-keygen (有提示时,直接回车即可)
(2)再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中:
ssh-copy-id B
通过将这两个步骤完成之后,下次再登录的时候就不需要再输入密码了!
注意:
<1>如果B要登录A的话,还是要在B上生成密钥对并重复上面的操作。也就是从A登录B和从B登录A是不同的。
<2>自己这台主机登录自己也是要输入密码的,所以可按照上面操作配置免密。‘’
<3>如果A再进行对C主机的免密登陆的时候,不要再生成密钥对了,而是直接拷贝就好了,也就是直接运行第二个步骤,否则之前生成的就无效了!