概述

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目录下用于记录连接过的远程服务器信息。

Linux命令之远程连接ssh相关推荐

  1. ssh 连接_怎样解决Linux环境下远程连接ssh速度慢的问题

    哈喽各位爱学习的小伙伴们,我最近遇到了一个ssh远程慢的问题,输入ssh后,需要等10+s才会出现密码验证的页面,通过 ssh ip -vv 查看,连接慢速的节点是DNS解析的过程,/etc/reso ...

  2. 【Linux学习】远程连接linux

    目录 [Linux的远程连接介绍] [远程连接的步骤] 1.确保被远程的linux机器配置有合适的ip地址 2.安装好xshell软件,进行远程连接 *遇到的问题之"Connection f ...

  3. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维

    说明: Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16 Web服务器IP:192.168.21.149 php源码编译目录:/u ...

  4. 远程连接linux的mysql_【Linux开启mysql远程连接的设置步骤】 mysql开启远程连接

    相关热词搜索:Linux开启mysql远程连接的设置步骤,linux mysql 远程连接,linux连接mysql数据库, MySQL默认root用户只能本地访问,不能远程连接管理mysql数据库, ...

  5. 项目上线的流程 shell基础-进阶 mysql安装 数据库基本操作 LAMP环境的部署 linux配置数据库远程连接

    三,项目上线流程(必须掌握) 1,服务器选配购买 项目上线服务器必须是外网服务器 一般服务器有两种:购买真实服务器,购买虚拟服务器 购买真实服务器一次性成本过高 所以现在基本都是云服务器 以后以阿里云 ...

  6. php 远程连接 sqlserver,Linux下PHP远程连接SqlServer数据库

    最近项目因需要,必须连SqlServer数据库,折腾了两天,弄好了.回头看,其实挺简单的.记录一下. 首先,因为是远程连接,所以 SqlServer的允许远程相关的设置必须开启,防火墙和服务器上相应的 ...

  7. Linux中Mycat远程连接Mysql8.0提示密码错误

    Linux中Mycat远程连接Mysql8.0提示密码错误 问题: 当在linux中使用mycat远程连接时候会提示密码错误,具体如下: 解决 防火墙 最开始以为是防火墙未关闭 通过查看防火墙状态发现 ...

  8. linux 连接远程命令行,screen命令行远程连接

    creen是linux下的一种多重视窗管理程序.在使用SSH远程登陆linux时,如果连接非正常中断,重新连接时,系统将打开新的会话,无法恢复原来的会话,screen工具可以有效的解决这个问题.scr ...

  9. 第五十四篇 Linux相关——远程连接SSH

    No.1. SSH(Secure Shell)安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄漏问题 SSH客户端适用于 ...

最新文章

  1. svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)...
  2. Python自动化运维——DNS处理模块
  3. Mysql游标循环遍历
  4. 使用MAP文件快速定位程序崩溃代码行(转)
  5. OGRE分析之设计模式
  6. .NET Core实战项目之CMS 第十七章 CMS网站系统的部署
  7. p服务器不响应,无法加载资源:服务器响应状态为500
  8. html边框为框,HTML 为元素设置边框
  9. Oracle安全漏洞2016.10报告
  10. python3实现校园网认证客户端
  11. android 动画插补器,Android动画之Interpolator插补器
  12. ANSYS ICEM常用操作
  13. Whole Word Masking
  14. Java学习笔记(四):数组操作
  15. 计算机word知识试题及答案,全国计算机等级考试Word试题及答案(2)
  16. NRF24L01P(nrf24l01+)从入门到使用
  17. [别被脱裤系列]2 还没深入数据库就浅出了
  18. 快充协议诱骗芯片大全:XSQ10支持9V12V15V20V
  19. 《域渗透攻防指南》签名版预售来啦
  20. 提高访问量,我用魔盒

热门文章

  1. 如何在Microsoft Excel中迅速冻结首行和末行
  2. PyQt入门(2)-信号和槽
  3. 关于扩展C盘大小方法的解决
  4. 编译原理基本定义(短语、直接短语、句柄、素短语、最左素短语)
  5. 有参构造函数和无参构造函数的区别
  6. 反序列化时,java类需要无参构造函数
  7. 【2】web安全入门篇-了解web
  8. 美国失业者不满:机器人把我们的工作抢走了
  9. iPhone键盘通知与键盘定制
  10. Python scripting is not supported in this copy of GDB