当前位置: 首页 > news >正文

Linux命令——ssh

Linux命令——ssh

背景

SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。

历史上,网络主机之间的通信是不加密的,属于明文通信。这使得通信很不安全,一个典型的例子就是服务器登录。登录远程服务器的时候,需要将用户输入的密码传给服务器,如果这个过程是明文通信,就意味着传递过程中,线路经过的中间计算机都能看到密码,这是很可怕的。

SSH 就是为了解决这个问题而诞生的,它能够加密计算机之间的通信,保证不被窃听或篡改。它还能对操作者进行认证(authentication)和授权(authorization)。明文的网络协议可以套用在它里面,从而实现加密。

SSH 架构

SSH 的软件架构是服务器-客户端模式(Server - Client)。在这个架构中,SSH 软件分成两个部分:向服务器发出请求的部分,称为客户端(client),OpenSSH 的实现为 ssh;接收客户端发出的请求的部分,称为服务器(server),OpenSSH 的实现为 sshd。

另外,OpenSSH 还提供一些辅助工具软件(比如 ssh-keygen 、ssh-agent)和专门的客户端工具(比如 scp 和 sftp),这个教程也会予以介绍。

SSH实现

目前主流的实现是OpenSSH,几乎所有的Linux发行版本都会提供OpenSSH包。
其他的实现:

  • Dropbear SSH
  • tinyssh

基本用法

服务端

服务端一般就是以服务启动,比较常用到的就是修改他的配置文件(/etc/ssh/sshd_config)。

客户端

ssh 登录服务器的命令如下。

$ ssh hostname

上面命令中,hostname是主机名,它可以是域名,也可能是 IP 地址或局域网内部的主机名。不指定用户名的情况下,将使用客户端的当前用户名,作为远程服务器的登录用户名。如果要指定用户名,可以采用下面的语法。

$ ssh user@hostname

上面的命令中,用户名和主机名写在一起了,之间使用@分隔。

用户名也可以使用ssh的-l参数指定,这样的话,用户名和主机名就不用写在一起了。

$ ssh -l username host

ssh 默认连接服务器的22端口,-p参数可以指定其他端口。

$ ssh -p 19999 foo.com

上面命令连接服务器foo.com的19999端口。

参考

ssh-tutorial

http://www.lryc.cn/news/229539.html

相关文章:

  • 在qml中,text如何左对齐,对齐方式有哪些?如何换行?
  • 【Rust 易学教程】第 1 天:Rust 基础,基本语法
  • Linux(命令)——结合实际场景的命令 查找Java安装位置命令
  • C语言基础 -- scanf函数的返回值及其应用
  • mac 安装 selenium + chrome driver
  • 【阿里云】函数计算 X 通义千问快速部署
  • el-table本地与线上的样式不一致出现错乱
  • C语言--从键盘输入当月利润I,求应发奖金总数。
  • 记忆科技携手中国电信,一站式存储打造坚实数字底座
  • 基于ssm的学生档案管理系统(有报告)。Javaee项目,ssm项目。
  • 阿里云服务中断事件:原因、影响与解决方案
  • 搜维尔科技:「体育类」Movella Xsens极限运动捕捉测试
  • CSS常用示例100+ 【目录】
  • Shopee买家通系统之注册虾皮买家号大概需要多少成本
  • 华为层层“能力外溢”,让数智世界一触即达——选择华为,让您的企业轻松数智化
  • MHA实验和架构
  • C语言——函数
  • DDR SDRAM 学习笔记
  • RocketMQ(4.9.4)学习笔记 - 安装部署
  • 虚拟局域网
  • 【PG】PostgreSQL 预写日志(WAL)、checkpoint、LSN
  • 一文了解VR全景拍摄设备如何选择,全景图片如何处理
  • Linux下docker安装mysql8.0
  • C++ std::make_unique和std::make_shared用法
  • 【Redis】list列表
  • 树莓派安装ubuntu系统
  • 绩效管理系统有哪些?
  • Three.js学习记录
  • CTFhub-RCE-远程包含
  • 云流量回溯的重要性和应用