Kyle Chen's Blog

Action speaks louder than Words

0%

SSH的原理及常用命令

SSH的含义

  • SSH是一个应用层协议,专为远程登录会话和其他网络服务提供安全性的保障,防止信息泄露问题。

  • ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)

  • ssh的客户端可以用 XShell,XManager、SecureCRT,Putty、Mobaxterm 等工具进行远程连接、登录

SSH的历史

  • 1995年,芬兰学者Tatu Ylonen设计了SSH协议,
  • SSH 为 Secure SHell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;
  • SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括 HP-UX、Linux、Unix、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
  •   SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

SSH的原理

SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22默认端口),包括公共秘钥等交换等信息。

服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后,ssh服务器会发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

基于口令的认证-密码登录

基于公钥的认证-免密码登录

SSH的有关命令

生成密钥

登录操作

发送文件

远程执行指令

其他命令

ref : ssh常用命令