1. ssh是什么东西?

    在Linux系统中,OpenSSH是目前最流行的远程系统注册与文件传输应用,也是传统的Telnet,ftp的网络应用的换代产品,OpenSSH不仅适用于Linux系统,也可以适合多种Unix系统,而且起ssh与scp等客户端软件也适用于Windows操作系统。如有必要,Windows用户可以采用windows版的scp客户端软件,即winscp,在Windows系统与linux系统之间实现文件的复制。

  2. 如何安装ssh?

    在Ubuntu Linux系统中,openssh的客户端软件会随着linux系统一起安装(其实ssh,telnet,ftp等都是Linux网络篇当中的知识)唯一需要的就是安装openssh服务器而已。

    命令方式: sudo apt-get install openssh-server

  3. 密码学基础知识讲解?

    为了信息传输以及通信的安全,计算机密码学发明了加密和解密

    加密所使用的东西的就是公钥,解密所使用的就是私钥

    加密和解密有对称和非对称两种方式。

    对称就是公钥和私钥是一样的,它们知道一个就可以互推。

    非对称就是必须知道私钥,光知道公钥推到不出原来密文。

  4. ssh的配置文件讲解

    openssh服务器的公钥与私钥均存储在/etc/.ssh/known_hosts 如果秘钥与ip地址不匹配,openssh将会认为某个文件出现问题。

    /etc/ssh/sshd_config配置文件,主要是sshd守护进程根据其中的定义,规范起处理动作。

  5. ssh运行原理?

    openssh采用随机方式生成公私秘钥。秘钥通常只需生成一次,必要是也可以重新制作。

    id_rsa.pub:公钥 id_rsa:私钥

    假定A要远程登录B

    当使用ssh命令远程B时,步骤1:A上生成一对秘钥,步骤2:将公钥拷贝给B命名为authorized_keys

    步骤3:A向B发送一个连接请求,其中应该带有相关的信息,包含ip地址和用户名,步骤4:B得到消息之后,会去authorized_keys,查询是否有这个ip地址和用户名,如果有随机生成一字符串,用该公钥加密,发给A。步骤5:A接收到之后,进行解密,在发送给B,步骤6:B接受到之后,进行对比,如果相同就允许免登陆。