我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统中SSH命令的使用方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统中SSH命令的使用方式

本篇内容主要讲解“Linux系统中SSH命令的使用方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中SSH命令的使用方式”吧!

ssh用于登录远程主机, 并且在远程主机上执行命令,它的目的是替换rlogin和rsh,同时在不安全的网络之上,两个互不信任的主机之间, 提供加密的, 安全的通信连接.先来看一下ssh命令的一些参数:

参数

-a
    禁止转发认证代理的连接.
   
-A
    允许转发认证代理的连接. 可以在配置文件中对每个主机单独设定这个参数.
    代理转发须谨慎. 某些用户能够在远程主机上绕过文件访问权限 (由于代理的 UNIX 域 socket), 他们可以通过转发的连接访问本地代理. 攻击者不可能从代理获得密钥内容, 但是他们能够操作这些密钥, 利用加载到代理上 的身份信息通过认证.
   
-b bind_address
    在拥有多个接口或地址别名的机器上, 指定收发接口.
   
-c blowfish|3des|des
    选择加密会话的密码术. 3des 是默认算法. 3des (triple-des) 用三支不同的密钥做加密-解密-加密三次运算, 被认为比较可靠. blowfish 是一种快速的分组加密术(block cipher), 非常安全, 而且速度比 3des 快的多. des 仅支持 客户端, 目的是能够和老式的不支持 3des 的协议第一版互操作. 由于其密码算法上的弱点, 强烈建议避免使用.
   
-c cipher_spec
    另外, 对于协议第二版, 这里可以指定一组用逗号隔开, 按优先顺序排列的密码术. 详见 Ciphers
   
-e ch|^ch|none
    设置 pty 会话的 escape 字符 (默认字符: `~' ) . escape 字符只在行首有效, escape 字符后面跟一个点 (`.' ) 表示结束连接, 跟一个 control-Z 表示挂起连接(suspend), 跟 escape 字符自己 表示输出这个字符. 把这个字符设为 ``none 则禁止 escape 功能, 使会话完全透明.

-f
    要求 在执行命令前退至后台. 它用于当 准备询问口令或密语, 但是用户希望它在后台进行. 该选项隐含了 -n 选项. 在远端机器上启动 X11 程序的推荐手法就是类似于 ssh -f host xterm 的命令.
   
-g
    允许远端主机连接本地转发的端口.
   
-i identity_file
    指定一个 RSA 或 DSA 认证所需的身份(私钥)文件. 默认文件是协议第一版的 $HOME/.ssh/identity 以及协议第二版的 $HOME/.ssh/id_rsa 和 $HOME/.ssh/id_dsa 文件. 也可以在配置文件中对每个主机单独指定身份文件. 可以同时使用多个 -i 选项 (也可以在配置文件中指定多个身份文件).
   
-I smartcard_device
    指定智能卡(smartcard)设备. 参数是设备文件, 能够用它和智能卡通信, 智能卡里面存储了用户的 RSA 私钥.
   
-k
    禁止转发 Kerberos 门票和 AFS 令牌. 可以在配置文件中对每个主机单独设定这个参数.
   
-l login_name
    指定登录远程主机的用户. 可以在配置文件中对每个主机单独设定这个参数.
   
-m mac_spec
    另外, 对于协议第二版, 这里可以指定一组用逗号隔开, 按优先顺序排列的 MAC(消息验证码)算法 (message authentication code). 详情以 MACs 为关键字查询.
   
-n
    把 stdin 重定向到 /dev/null (实际上防止从 stdin 读取数据). 在后台运行时一定会用到这个选项. 它的常用技巧是远程运行 X11 程序. 例如, ssh -n shadows.cs.hut.fi emacs 将会在 shadows.cs.hut.fi 上启动 emacs, 同时自动在加密通道中转发 X11 连接. 在后台运行. (但是如果 要求口令或密语, 这种方式就无法工作; 参见 -f 选项.)
   
-N
    不执行远程命令. 用于转发端口. (仅限协议第二版)
   
-o option
    可以在这里给出某些选项, 格式和配置文件中的格式一样. 它用来设置那些没有命令行开关的选项.
   
-p port
    指定远程主机的端口. 可以在配置文件中对每个主机单独设定这个参数.
   
-q
    安静模式. 消除所有的警告和诊断信息.
   
-s
    请求远程系统激活一个子系统. 子系统是 SSH2 协议的一个特性, 能够协助 其他应用程序(如 sftp)把SSH用做安全通路. 子系统通过远程命令指定.
   
-t
    强制分配伪终端. 可以在远程机器上执行任何全屏幕(screen-based)程序, 所以非常有用, 例如菜单服务. 并联的 -t 选项强制分配终端, 即使 没有本地终端.
   
-T
    禁止分配伪终端.
   
-v
    冗详模式. 使 打印关于运行情况的调试信息. 在调试连接, 认证和配置问题时非常有用. 并联的 -v 选项能够增加冗详程度. 最多为三个.
   
-x
    禁止 X11 转发.
   
-X
    允许 X11 转发. 可以在配置文件中对每个主机单独设定这个参数.
    应该谨慎使用 X11 转发. 如果用户在远程主机上能够绕过文件访问权限 (根据用户的X授权数据库), 他就可以通过转发的连接访问本地 X11 显示器. 攻击者可以据此采取行动, 如监视键盘输入等.
   
-C
    要求进行数据压缩 (包括 stdin, stdout, stderr 以及转发 X11 和 TCP/IP 连接 的数据). 压缩算法和 gzip(1) 的一样, 协议第一版中, 压缩级别 ``level 用 CompressionLevel 选项控制. 压缩技术在 modem 线路或其他慢速连接上很有用, 但是在高速网络上反而 可能降低速度. 可以在配置文件中对每个主机单独设定这个参数. 另见 Compression 选项.
   
-F configfile
    指定一个用户级配置文件. 如果在命令行上指定了配置文件, 系统级配置文件 (/etc/ssh/ssh_config ) 将被忽略. 默认的用户级配置文件是 $HOME/.ssh/config
   
-L port:host:hostport
    将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
   
-R port:host:hostport
    将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
   
-D port
    指定一个本地机器 ``动态的 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.
   
-1
    强制 只使用协议第一版.
   
-2
    强制 只使用协议第二版.
   
-4
    强制 只使用 IPv4 地址.
   
-6
    强制 只使用 IPv6 地址.

基本用法

最简单的 SSH 命令只需要指定用户名和主机名参数即可. 主机名可以是 IP 地址或者域名. 命令格式如下:

代码如下:


$ ssh user@hostname


比如要在我的局域网内登录一个树莓派系统, 只需要简单的在命令行输入如下命令:

代码如下:


$ ssh pi@10.42.0.47


命令中的 pi 和 10.42.0.47 分别是我的树莓派系统的用户名和局域网 IP 地址. 实际使用时主机名需要改成你的目标主机(局域网内或者远程)的 IP 地址.
Linux系统中SSH命令的使用方式

如果你能够成功登陆, 那么下面的内容对你来说就轻而易举了.

使用其他端口

SSH 默认连接到目标主机的 22 端口上,但是由于各种原因你可能需要连接到其他端口.

代码如下:


$ ssh -p 10022 user@hostname


如上命令就是通过添加参数 -p 指定端口号为 10022.

远程执行命令

有时在远程主机执行一条命令并显示到本地, 然后继续本地工作是很方便的. SSH 就能满足这个需求:

代码如下:


$ ssh pi@10.42.0.47 ls -l


比如上面这个命令就会枚举远程主机的主目录内容并在本地显示. 是不是很酷? 你可以尝试下其他命令看看.
Linux系统中SSH命令的使用方式

挂载远程文件系统

另外一个很赞的基于 SSH 的工具叫 sshfs. sshfs 可以让你在本地直接挂载远程主机的文件系统.

代码如下:


$ sshfs -o idmap=user user@hostname:/home/user ~/Remote


比如下面这条命令:

代码如下:


$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi


该命令就将远程主机 pi 用户的主目录挂载到本地主目录下的 Pi 文件夹.

要详细了解可以参考 sshfs 教程.

X11 图形界面

假如现在你想要在远程主机运行一个图形界面的程序, SSH 已经帮你想到了! 用前面提到的 SSH 基本命令加上参数 -X 连接到远程主机即可开启 X11 转发功能. 登录后你可能觉得没什么差别, 但是当你运行一个图形界面程序后就会发现其中的不同的.

代码如下:


$ ssh -X pi@10.42.0.47
$ pistore


如果你想在运行图形界面程序的同时做些别的事情, 只需要简单地在命令末尾加一个 & 符号.

代码如下:


$ pistore&


Linux系统中SSH命令的使用方式

转义字符

SSH 提供了多样的转义字符功能. 用 SSH 连接到任意一台远程主机然后输入 ~? 你就可以看到支持的转义字符和功能说明列表. 以下例子展示了 ~# 和 ~C 的效果.
Linux系统中SSH命令的使用方式

配置 SSH

如果你需要改变 SSH 的配置, 请用你喜好的文本编辑器打开 /etc/ssh/sshd_config 进行编辑. 比如你想改变登陆的标语, 在配置文件中找到下面这行:

代码如下:


#Banner none


删除 # 字符(取消该行的注释), 将 none 替换为包含你期望显示内容的文件地址. 修改后该行应该类似这样:

代码如下:


Banner /etc/issue


在配置文件 /etc/ssh/sshd_config 中你还可以找到端口号, 空闲超时时间等配置项. 配置项大都比较容易理解, 但是保险起见在你修改一些不是很确定的配置项时最好参考下 SSH 的帮助文档.

构建 ssh 密钥对

运行以下命令创建密钥对:

代码如下:


$ ssh-keygen -t dsa


此命令会要求你输入密码(可以留空), 然后就会生成密钥并会显示一张该密钥对应的随机图.
Linux系统中SSH命令的使用方式

寻找主机密钥

在你准备添加密钥之前不妨先用以下命令看看是否已经添加了对应主机的密钥了.

代码如下:


$ ssh-keygen -F 10.42.0.47


Linux系统中SSH命令的使用方式

删除主机密钥

某些情况下, 比如主机地址更改或者不再使用某个密钥, 你就可能需要删除某个密钥.

代码如下:


$ ssh-keygen -R 10.42.0.47


用以上命令就可删除. 这比手动在 ~/.ssh/known_hosts 文件中删除要方便很多.
Linux系统中SSH命令的使用方式

总结

通过以上的内容你应该可以轻松使用 SSH 了. SSH 还有很多功能值得你去发掘, 这就要看你的想象力了。

到此,相信大家对“Linux系统中SSH命令的使用方式”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统中SSH命令的使用方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统中SSH命令的使用方式

本篇内容主要讲解“Linux系统中SSH命令的使用方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中SSH命令的使用方式”吧!ssh用于登录远程主机, 并且在远程主机上执行命令,
2023-06-12

linux系统中xargs命令的使用方式是什么

这期内容当中小编将会给大家带来有关linux系统中xargs命令的使用方式是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。xargs 是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数
2023-06-05

Linux系统中df命令的使用方法

本篇内容主要讲解“Linux系统中df命令的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中df命令的使用方法”吧!df 即“可用磁盘”disk free,用于显示文件系统
2023-06-12

Linux系统中file命令的使用方法

这篇文章主要讲解了“Linux系统中file命令的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中file命令的使用方法”吧!命令简介:该命令用来识别文件类型,也可用来
2023-06-12

linux系统中sed命令的使用方法

这篇文章给大家分享的是有关linux系统中sed命令的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux中sed命令功能强大,今天我们就来详细介绍如何在Linux中使用sed命令进行替换,具体来说分
2023-06-10

Linux系统中ls和dir命令的组合使用方式

本篇内容介绍了“Linux系统中ls和dir命令的组合使用方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ls或dir命令:列出当前目录的
2023-06-12

Linux系统中的curl命令的使用方法

本篇内容主要讲解“Linux系统中的curl命令的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中的curl命令的使用方法”吧!命令:curl在Linux中curl是一个利
2023-06-12

Linux系统命令scp和ssh的具体使用方法是什么

今天给大家介绍一下Linux系统命令scp和ssh的具体使用方法是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。如果ssh的端口是22,那么可以不用指定-
2023-06-28

Linux中SSH的SCP传输命令的使用方法

这篇文章主要讲解了“Linux中SSH的SCP传输命令的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中SSH的SCP传输命令的使用方法”吧!Linux系统管理员应该很熟悉
2023-06-13

Linux系统使用Fuser命令的方法

什么是Fuser命令? fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件、目录或socket的进程。 它还提供有关拥有该进程的用户和访问类型的信息。。fuser工具显示了使用指定文件或文件系统的每个进程的进程ID(P
2022-06-03

Linux系统中ps命令和gitps命令的使用

本篇内容介绍了“Linux系统中ps命令和gitps命令的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!psps [-aAcdefHjl
2023-06-12

linux中find命令的使用方式

本篇内容主要讲解“linux中find命令的使用方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中find命令的使用方式”吧!我们已经熟悉windows下的文件搜索功能,但在linu
2023-06-17

linux中mv命令的使用方式

这篇文章主要介绍“linux中mv命令的使用方式”,在日常操作中,相信很多人在linux中mv命令的使用方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中mv命令的使用方式”的疑惑有所帮助!接下来
2023-06-13

Linux系统命令free的使用方法

这篇文章将为大家详细讲解有关Linux系统命令free的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux系统中free命令最主要的用途就是用来显示内存的状态,其中包括实体内存
2023-06-28

Linux系统lsof命令的使用方法

Linux系统lsof命令的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux系统中lsof命令是用于列出当前系统打开文件的工具,是一个非常方便的命令。lsof命
2023-06-28

Linux中如何使用ssh-keyscan命令

这篇文章主要介绍Linux中如何使用ssh-keyscan命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令ssh-keyscan命令是一个收集大量主机公钥的实用工具。它的目的是创建和验证“ssh_
2023-06-28

Linux中如何使用ssh-keygen命令

小编给大家分享一下Linux中如何使用ssh-keygen命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令ssh-keygen命令用于为“ss
2023-06-28

Linux系统的dd命令的使用方法

这篇文章主要介绍“Linux系统的dd命令的使用方法”,在日常操作中,相信很多人在Linux系统的dd命令的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统的dd命令的使用方法”的疑惑有所
2023-06-12

Linux系统中如何分析SSH与SCP命令

这篇文章给大家介绍Linux系统中如何分析SSH与SCP命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如果ssh的端口是22,那么可以不用指定-p或-P选项。1. sshLinux使用ssh命令登陆Linux服务器
2023-06-28

Linux系统下wget命令的使用方法

本篇内容主要讲解“Linux系统下wget命令的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下wget命令的使用方法”吧!一、Linux wget简介wget是linux
2023-06-12

编程热搜

目录