关于ssh的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ssh的问题相关的知识,希望对你有一定的参考价值。
SSH(Secure Shell安全外壳协议)
SSH是建立在应用层和传输层基础上的安全协议,利用SSH协议可以有效防止管理过程中的信息泄露问题。传统的网络服务程序ftp,telnet,pop在本质上是不安全的,使用明文传送口令和数据,这些服务程序的安全验证方式也是有其弱点的,易受到中间人的攻击。
SSH提供两种级别安全验证
级别一(基于口令的安全认证)
只要知道帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证正在连接的服务器是想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
级别二(基于密钥的安全认证)
需要依靠密钥,所以必须为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到ssh服务器上,客户端软件就会向服务器发送请求,请求用密钥进行安全认证。服务器接受到该请求后,现在该服务器上寻找公钥,然后把服务器上的公钥和发送过来的公钥进行比较,若一致,服务器就用公钥加密“质询”并把它发送给客户端,客户端软件接受到质询后就可利用私人密钥解密再把它发送给服务器。
用这种方式,你必须知道自己密钥的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
无密码登录
ssh-keygen 会在当前用户家目录下.ssh目录下生成两个文件id_ras(私钥)和id_ras.pub(公钥)。利用ssh-copy-id将公钥拷贝到服务器上
ssh-copy-id -i id_ras.pub [email protected] (被管理的用户以及主机地址)
将会在目标服务器的~/.ssh/authorized_keys文件中生成公钥
设置 PermitRootLogin without-password#这样root用户就不能从没有秘钥的计算机登陆
以上是关于关于ssh的问题的主要内容,如果未能解决你的问题,请参考以下文章
Git关于git的ssh-key:解决本地多个ssh-key的问题