最近同社は、サーバーのマイニングだったので、キー着陸進入を交換するにはログインする前のパスワードからssh接続を交換し、パスワードを禁止しました。したがって、この重要なプロセスの構成では、偶然に、SSHのいくつかの原則と知識を理解します。一般的なオープンソース
1、どのようなSSHのssh、sshの場合に使用されている理由
1)SSHはまた、Secure Shellプロトコル、リモートログインセッションのセキュリティプロトコルの主要プロバイダ、およびその他のネットワークサービスとして知られているプロトコル規格です。セキュアシェル、基本的に暗号化されたシェルの完全な名前。それは、Telnetを交換するだけでなく、でも、FTP、POP、およびとして安全なPPP提供できる「チャンネルを。」
2)SSHプロトコルを使用して、リモート管理を効果的プロセスにおける情報漏洩の問題を防ぐことができるだけでなく、ためのデータ圧縮の送信中に、DNSスプーフィングとIPスプーフィングを防止するためだけでなく、伝送効率を向上させます。
3)ほとんどすべてのUNIXプラットフォーム-など、HP-UX、Linuxでは、AIX、Solarisの、デジタル UNIX、Irixの、および他のプラットフォームには、SSHを実行します。今主流のオープンソース実装はもちろん、多くの商用の実装があり、OpenSSHのです。
2、2つの暗号化モード、sshを使用、sshはセキュリティ検証2つのレベルをサポートしています
1)暗号化対称暗号化と非対称暗号化の2種類。名前が同じ重要な利点を使用して対称暗号化、データの暗号化と復号化を暗示するように、高い暗号強度ですが、欠点は、主要なセキュリティ問題の損失をもたらす可能性があります。
データ送信処理の非対称暗号化を使用してSSHは(秘密鍵を復号化ここで注意し、データを暗号化するために、公開鍵を使用した場合、データ暗号化のプロセスは通常行われ、秘密鍵と公開鍵に分割されている暗号化されたデータのみ、とき署名は秘密署名、公開鍵検査記号)を使用して、ちょうど反対です。そして、実質的に存在しない公開鍵の秘密鍵を推測すること
パスワードに、第一の方法。プロセスを通じて、クライアント自身が任意のキーを持っていません。
第一步,客户端输入用户名密码,发出登陆请求。
第二步,服务端接收到请求并返回给客户端公钥以及公钥指纹(公钥指纹是为了防止中间人攻击的产物,是由于公钥本身过长(1024位)而对其hash之后产生的128位的指纹,方便在第一次连接服务端的时候,用户对服务端身份的对比确认。用户确认通过后,该host会被加入到known_hosts。第二次连接时,不需要再次确认服务端身份了。感兴趣可以搜索中间人攻击,如下图)
第三步,客户端收到服务端发送的公钥,对密码进行加密然后将密文发送给服务端
第四步,服务端收到密文,使用私钥将密文进行解密,得到密码并对比确认
第五步,服务端返回给客户端,登陆结果。
b、 第二种方式为公钥登陆,也就是免密登陆。
第一步,客户端生成一对密钥,手动将公钥添加到服务端的authorized_keys中。
第二步,客户端直接发起登陆请求到服务端
第三步,服务端收到请求后,生成随机数R,并使用公钥对随机数R进行加密,得到密文并返回给客户端
第四步,客户端收到密文后,使用私钥对密文解密,得到随机数R。然后用MD5对随机数R和SessionKey进行生成摘要A1,并发送给服务端
第五步,服务端同样用MD5对随机数R和SessionKey进行生成摘要A2,然后对比A1和A2,完成登录确认。
扩展
ssh-keygen是用于生产密钥的工具。
- -t:指定生成密钥类型(rsa、dsa、ecdsa等)
- -P:指定passphrase,用于确保私钥的安全
- -f:指定存放密钥的文件(公钥文件默认和私钥同目录下,不同的是,存放公钥的文件名需要加上后缀.pub)
部分内容和全部图片是从网上拿来用的,如有侵权,联系删除