Linux命令之远程连接ssh

2023-11-18

概述

ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。

在脚本中该命令有着重要重要,可用于在远程服务器中执行命令。

语法

ssh命令的基本语法如下:ssh [选项] [参数]

常用选项如下:

选项 说明
-1 强制使用ssh协议版本1
-2 强制使用ssh协议版本2
-4 强制使用IPv4地址
-6 强制使用IPv6地址
-A 开启认证代理连接转发功能
-a 关闭认证代理连接转发功能
-b<IP地址> 使用本机指定的地址作为对位连接的源IP地址
-C 请求压缩所有数据
-F<配置文件> 指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f 后台执行ssh指令
-g 允许远程主机连接本机的转发端口
-i<身份文件> 指定身份文件(即私钥文件)
-l<登录名> 指定连接远程服务器的登录用户名
-N 不执行远程指令
-o<选项> 指定配置选项
-p<端口> 指定远程服务器上的端口
-q 静默模式,所有的警告和诊断信息被禁止输出
-X 开启X11转发功能
-x 关闭X11转发功能
-y 开启信任X11转发功能

参数通常为远程服务器的IP地址。

使用

登录远程服务器

可以在本地服务器通过远程服务器的IP地址进行登录,命令如下:

ssh xxx.xxx.xxx.xxx

参数说明:

  • xxx.xxx.xxx.xxx为远程服务器的IP地址。

例如,使用的是root用户,如果不是建立信任关系的服务器,则每次ssh连接都需要输入远程服务器的登录密码。可以明确看到蓝色方框内的服务器名字是两个,表示成功登录到远程服务器。如果要退出远程服务器则输入exit命令即可。
在这里插入图片描述注意,当我们第一次连接远程服务器的时候,会在/root/.ssh目录下生成一个名为known_hosts的文件,该文件的内容是我们连接的远程服务器的信息,如果以前连接过远程服务器并且该文件存在那么刚刚连接的远程服务器信息会追加在known_hosts文件的最后。
在这里插入图片描述

使用指定用户连接远程服务器

可以使用指定的用户连接远程服务器,使用-l选项指定用户名即可,命令如下:

ssh -l remoteuser xxx.xxx.xxx.xxx

参数说明:

  • user为远程服务器的用户。例如,使用远程服务器的test用户。
  • xxx.xxx.xxx.xxx为远程服务器的IP地址。例如,远程服务器IP地址192.168.40.60

例如,使用test用户登录远程服务器,注意,需要输入test用户的登录密码。
在这里插入图片描述

在远程服务器执行命令【★★★★★】

可以通过ssh命令连接登录远程服务器并且执行命令,该命令是作用在远程服务器上的,但是结果显示在本地服务器上。命令格式如下:

ssh xxx.xxx.xxx.xxx command

参数说明:

  • xxx.xxx.xxx.xxx为远程服务器的IP地址。例如,远程服务器IP地址192.168.40.60
  • command指的是待执行的命令。如ls /root查看root目录下的文件;如rm -rf /home/hello.txt删除home目录下的hello.txt文件,这些命令都是可以执行的。

例如,查看远程服务器上的home目录下的文件列表信息,结果会显示在本地服务器显示器上,并且并没有切换到远程服务器。
在这里插入图片描述

该命令非常重要,在脚本中很常见。

拓展延申

  • 如果想要执行ssh命令不用每次都输入密码,则需要在两台服务器之间建立信任关系,请参考:让两台甚至多台Linux服务器建立SSH信任关系
  • 连接远程服务器会在/root/.ssh目录下生成一个known_hosts文件,该文件记录了连接过的远程服务器信息。
  • 通常情况下,会把known_hosts文件与authorized_keys文件做对比:authorized_keys文件由本地服务器生成,放置于远程服务器的/root/.ssh目录下来实现免密登录;known_hosts文件也由本地服务器生成,放置于本地服务器的/root/.ssh目录下用于记录连接过的远程服务器信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令之远程连接ssh 的相关文章

  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • Linux 上的静态 Qt5 构建:部署时如何处理字体?

    我使用这些配置选项创建了 Qt 5 2 0 库的静态版本 Ubuntu 12 04 开源 确认许可 force pkg config 发布 静止的 前缀 home juzzlin qt5 无icu opengl桌面 无油嘴滑舌 辅助功能 n
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • 如何在linux中以编程方式获取dir的大小?

    我想通过 C 程序获取 linux 中特定目录的确切大小 我尝试使用 statfs path struct statfs 但它没有给出确切的大小 我也尝试过 stat 但它返回任何目录的大小为 4096 请建议我如何获取 dir 的确切大小
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 如何登录ec2机器?

    我获得了 EC2 机器的一些登录信息 基本上是 ec2 X X X compute X amazonaws com 加上用户名和密码 如何访问机器 我尝试过 ssh ssh email protected cdn cgi l email p
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • x86-64 AMD 上 CALL 指令的操作数生成

    以下是示例程序 objdump 的输出 080483b4
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 实验吧-密码学-奇怪的短信(九键密码)

    短信里的一段密文 335321414374744361715332 一般来说是用手机接收短信的 于是可能是手机上的九键 将密文两个两个分隔开 33 53 21 41 43 74 74 43 61 71 53 32 然后对应着拼音九键来找出对
  • Android开发 关于避免切换主题时免闪屏的几种方式

    Android开发 关于避免切换主题时闪屏的几种方式 在activity中调用setTheme来切换夜间模式的方法可能大家有看过相关的文章了 但是调用setTheme设置的主题后界面并没有变化 这时需要调用activity的recreate
  • RAID 磁盘状态为foreign,怎么变成ready

    我们在关掉电源 插入三块硬盘 打开电源 这时候 首先启动服务器 出现 Press
  • Eclipse重命名Package,出现的四个选项的意思。

    1 update references 更新参考 2 Rename subpackages 重命名子包 3 Update textual occurrences in comments and strings forces preview
  • 51单片机SCT15数码管4321断灭长灭程序

    include
  • 第七章 yaml格式

    一 简单说明 yaml是一个可读性高 用来表达数据序列的格式 YAML 的意思其实是 仍是一种标记语言 但为了强调这种语言以数据做为中心 而不是以标记语言为重点 二 基本语法 缩进时不允许使用Tab键 只允许使用空格缩进的空格 数目不重要
  • 好分数阅卷3.0_网上阅卷系统是什么

    什么是网上阅卷系统 网上阅卷系统简称在线阅卷或阅卷系统 是一套集电子光学扫描技术和计算机网络技术于一体的纸答题卡电子处理的一套软硬件结合的现代计算机系统 系统特点及简介它主要实现了答题卡模板的智能化生产 由计算机自动对考生填写选择题段信息点
  • 追根究底,剖析MFC六大关键技术(1)

    题外话 我并不认为MFC减轻了程序员们的负担 MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程 但本人在MFC里徘徊了很久很久 因为那时没有书本详细介绍MFC的原理 毫无收获 可能朋友们会说 怎么一定要了解MFC的具体呢
  • HBuilder X 上传git仓库

    首先安装git插件 HBuilder的左上方点击工具 点击插件安装 gt 安装新插件 gt 下滑找到 git 进行安装 安装easy git源码管理 HBuilder的左上方点击工具 点击插件安装 gt 安装新插件 gt 前往插件市场安装
  • K8s Liveness/Readiness/Startup 探针机制

    官方参考文档 目录 前言 一 默认健康检测 1 1 restartPolicy 1 2 测试案例 二 Liveness 三 Readiness 四 Startup 前言 玩过 Docker Swarm 的应该都知道 有一种功能叫自愈功能 当
  • 4.9-4.10 矩阵乘法的性质 & 矩阵的幂运算 & 矩阵的转置及其性质

    矩阵乘法的性质 矩阵的乘法不遵守交换律 矩阵乘法遵守结合律 分配律 对于任意r行c列的矩阵A 存在c行x列的矩阵O 满足 A Ocx Orx 对于任意r行c列的矩阵A 存在x行r列的矩阵O 满足 Oxr A Oxc 证明思路 A B C A
  • 3.二进制数的应用、逻辑学及逻辑门

    由前面的例子中我们讲了很多设备 比如手电筒 继电器 以及两个编码 莫尔斯编码和布莱叶盲文 这些和我们熟知的二进制数有着很大的联系 二进制数我们已经很了解了 接下来举几个例子 1 胶卷的好坏判定 我们把胶卷拉开 会发现有12个方格 是由银色和
  • Keil(MDK-ARM-STM32)系列教程(四)工程目标选项配置(Ⅱ)

    写在前面 本文接着上一篇文章 工程目标选项配置 进行讲述工程目标选项中后五项的配置 也就是C C Asm Linker Debug Utilities这五项配置的具体内容 对于工程目标选项中的C C 选项 不管是初学者 还是资深的软件工程师
  • memcach redis的理解 和有点

    Memcach 是一种缓存技术 在一定的时间内将动态页面经过解析之后保存发到文件中国 下次访问时动态网页就直接调用这个文件 而不必再重新访问数据库 使用memcach 做缓存的好处是 提高网站的访问速度 减轻高并发是服务器的压力 优点 稳定
  • 对于一个程序员来说,电脑的内存需要多大?

    1 程序员电脑内存有多大内存够用足够了 纯写代码的编程对电脑要求不高 尤其对显卡几乎没有要求 一般编程可能开的任务窗口比较多 所以只要cpu和内存大点就可以了一般来说 处理器确实比显卡来得重要一些 因为我们的电脑中只配备了一块处理器 而处理
  • MEX 文件 ‘lsd.mexw64‘ 无效: 找不到指定的模块。问题解决方法

    问题描述 在跑MATLAB和C 混合编程的一个算法时 出现了如下错误 MEX 文件 C Project final code reference code lsd mexw64 无效 找不到指定的模块 如下图所示 原因分析 根据资料 1 的
  • windows安装cx_oracle的坑

    转自http rookiefly cn detail 69 作死小能手这两天闲着没事 把自己电脑重装了 然而重装过后配置开发环境踩了一些坑 这里把安装cx oracle遇到的坑记录下来 方便以后查看 使用pip安装出现的问题 命令 pip
  • linux下nc命令

    一 nc命令检测端口的用法 nc v w 10 IP z PORT v 显示指令执行过程 w lt 超时秒数 gt 设置等待连线的时间 u 表示使用UDP协议 z 使用0输入 输出模式 只在扫描通信端口时使用 例1 扫描指定的8080端口
  • 亚马逊云科技与百川智能发起AI黑客松,共探医疗健康和游戏娱乐领域的前沿应用

    8月31日 亚马逊云科技云创计划成员企业暨基础模型创业公司百川智能 率先通过了 生成式人工智能服务管理暂行办法 备案 即日起面向全社会开放服务 基础模型获准面向公众用户开放服务 意味着有机会基于大量真实用户的调用反馈建立模型迭代的飞轮 其效
  • Linux命令之远程连接ssh

    概述 ssh命令是openssh套件中的客户端连接工具 可以给予ssh加密协议实现安全的远程登录服务器 实现对服务器的远程管理 在脚本中该命令有着重要重要 可用于在远程服务器中执行命令 语法 ssh命令的基本语法如下 ssh 选项 参数 常