在Linux中ssh登录远程主机的时候可以进行公私钥的认证方式。
①环境说明:两台Linux主机,host1:192.168.5.1,host2:192.168.5.10。现在在host1上面设置然后去登录到host2主机。
②在默认的情况下ssh服务是自动开启的。可以再Linux中查看下
netstat –nlutp|grep ssh
这里显示的是ssh的22端口已经被监听,所以说明ssh服务已经开启了。
③在本端进行秘钥的生成:
这时候在用户的家目录下会有一个 .ssh/id_rsa.pub的公钥文件,这个文件需要发送给认证方。有两种方式
方式一: scp~/.ssh/id_rsa.pub [email protected]:/~ //这里需要输入对方的root用户密码。
然后在192.168.5.10的root家目录下面建立隐藏的.ssh文件夹和authorized_keys文件并把拷贝过来的文件追加到新建的authorized_keys中去。OK,追加完了之后在客户端进行远程的登录 ssh –l username 192.168.5.1,第一次是需要输入密码的等到再次登录的时候就不需要密码认证了,因为再次认证用的是秘钥的认证,不需要设计到用户的认证。note:自己建立的隐藏文件的权限需要改成700 chmod 700 ~/.ssh
方式二:ssh-copy-id–I ~/.ssh/id_rsa.pub [email protected],不需要我们手动的进行文件的创建,相应的文件内容会自动的追加进去。
登录 ssh –l root192.168.5.1直接登录成功。