网络相关的命令工具研究报告
网络相关的命令工具研究报告
- 什么是SSH?
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
- SSH工作原理
在对ssh的工作原理进行讨论之前,首先要明确的问题就是ssh实现了什么样的功能需求,也就是我们为什么需要ssh。
不同于诸如telnet和ftp等会话协议,从ssh的定义中我们就不难看出ssh的特点就是其安全性。然则ssh的安全性有时从何而来,这就涉及到对于数据的加密。
而加密的主要方式分为两种,对称加密以及非对称加密。不同于对称加密使用同一套密钥进行加密和解密,非对称加密中使用私钥进行加密,而使用公钥进行解密。由于使用不同的密钥分别进行加密和解密,非对称加密中的私钥不需要在网络上进行传递,因此在一些情况下具有更好的安全性(由于种种因素的权衡,非对称加密的表现并非总是优于对称加密)。
而ssh的安全性就是基于非对称加密实现的。ssh服务端由2部分组成:openssh(提供ssh服务)以及openssl(提供加密的程序)。ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接。
其工作方式又分为两种:
一,基于口令的安全验证。只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
二,基于密匙的安全验证。需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
- 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
- 使用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.

浙公网安备 33010602011771号