SSH
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境[1]。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接[2]。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。使用频率最高的场合类Unix系统,但是Windows操作系统也能有限度地使用SSH。2015年,微软宣布将在未来的操作系统中提供原生SSH协议支持[3]。
在设计上,SSH是Telnet和非安全shell的替代品。Telnet和Berkeley rlogin、rsh、rexec等协议采用明文传输,使用不可靠的密码,容易遭到监听、嗅探和中间人攻击[4]。SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。
不过,SSH也被指出有被嗅探甚至解密的漏洞。早在2011年,中国的互联网审查机构已经有能力针对SSH连接的刺探及干扰。[5][6]而后爱德华·斯诺登泄露的文件也指出,美国国家安全局有时能够把SSH协议传输的信息解密出来,从而读出SSH会话的传输内容[7]。2017年7月6日,非营利组织维基解密确认美国中央情报局已经开发出能够在Windows或Linux操作系统中窃取SSH会话的工具。[8]
mac
在终端内执行
1、生成ssh-key
ssh-keygen -t rsa -C "[email protected]" -b 4096
2、查看ssh-key
vim ~/.ssh/id_rsa.pub
windows
在windows下进行项目开发,使用git,通过ssh(public key)方式与git库连接。
使用git bash(其命令行系统类似linux环境的基本操作命令)
1、生成ssh-key
ssh-keygen -t rsa -C "[email protected]"
2、查看ssh-key
如 vim /c/user/uag/.ssh/id_rsa.pub