网络相关的命令工具研究报告

网络相关的命令工具研究报告

  1. 什么是SSH

SSH  Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

 

  1. SSH工作原理

在对ssh的工作原理进行讨论之前,首先要明确的问题就是ssh实现了什么样的功能需求,也就是我们为什么需要ssh

不同于诸如telnetftp等会话协议,从ssh的定义中我们就不难看出ssh的特点就是其安全性。然则ssh的安全性有时从何而来,这就涉及到对于数据的加密。

而加密的主要方式分为两种,对称加密以及非对称加密。不同于对称加密使用同一套密钥进行加密和解密,非对称加密中使用私钥进行加密,而使用公钥进行解密。由于使用不同的密钥分别进行加密和解密,非对称加密中的私钥不需要在网络上进行传递,因此在一些情况下具有更好的安全性(由于种种因素的权衡,非对称加密的表现并非总是优于对称加密)。

 

ssh的安全性就是基于非对称加密实现的。ssh服务端由2部分组成:openssh(提供ssh服务)以及openssl(提供加密的程序)ssh的客户端可以用 XSHELLSecurecrt, Mobaxterm等工具进行连接。

 

其工作方式又分为两种:

一,基于口令的安全验证。只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到中间人这种方式的攻击。

二,基于密匙的安全验证。需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密质询challenge)并把它发送给客户端软件。客户端软件收到质询之后就可以用你的私人密匙解密再把它发送给服务器。

 

  1. SSH命令

ssh常见命令参数:

usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

           [-D [bind_address:]port] [-e escape_char] [-F configfile]

           [-i identity_file] [-L [bind_address:]port:host:hostport]

           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]

           [-R [bind_address:]port:host:hostport] [-S ctl_path]

           [-W host:port] [-w local_tun[:remote_tun]]

           [user@]hostname [command]

 

ssh功能

一.口令登录

ssh user@host

如需调用图形界面可以使用-X选项

ssh -X user@host

需要注意的是,ssh服务的默认端口为熟知端口22,而我们可以使用-p选项来修改服务器连接端口,如:

ssh -p 1234 user@host

 

二.密钥登录

首先需要在本机生成密钥对

ssh-keygen -t rsa

该命令执行完毕后会生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。接下来就需要将公钥发送给远程主机

ssh-copy-id user@host

 

  1. 使用SSH登录github

首先需要检查你电脑是否已经有 SSH key ,运行 git Bash 客户端,输入如下代码:

 

$ cd ~/.ssh

$ ls

这两个命令就是检查是否已经存在 id_rsa.pub id_dsa.pub 文件,如果文件不存在,则需先通过ssh-keygen生成密钥,此后要做的则是将ssh公钥添加到github上。

首先要做的是拷贝 id_rsa.pub 文件的内容,可以用编辑器打开文件复制,也可以用git命令复制该文件的内容,如:

 

$ clip < ~/.ssh/id_rsa.pub

接着则是登录github账号,从上角的设置进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。点击 Add SSH key 按钮添加一个 SSH key 复制的 SSH key 代码粘贴到 key 所对应的输入框中,完成上述步骤后可以测试一下该SSH key,git Bash 中输入以下代码

 

$ ssh -T git@github.com

根据提示输入密码后,如果出现以下字样则说明ssh连接成功:

 

# provide shell access.

posted @ 2019-11-27 18:47  二六二六二  阅读(151)  评论(0)    收藏  举报