1、查看SSH客户端版本

有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH:

1

2

$ ssh -V

OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

下面的例子表明该系统正在使用SSH2:

1

2

$ ssh -V

ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu

2、连接到远程主机:

命令格式 :

1

2

ssh name@remoteserver #或者

ssh remoteserver -l name

说明:以上两种方式都可以远程登录到远程主机,server代表远程主机,name为登录远程主机的用户名。

3、连接到远程主机指定的端口:

命令格式:

1

2

ssh name@remoteserver -p 2222 #或者

ssh remoteserver -l name -p 2222

说明:p 参数指定端口号,通常在路由里做端口映射时,我们不会把22端口直接映射出去,而是转换成其他端口号,这时就需要使用-p端口号命令格式。

4、通过远程主机1跳到远程主机2:

命令格式:

1

ssh -t remoteserver1 ssh remoteserver2

说明:当远程主机remoteserver2无法直接到达时,可以使用-t参数,然后由remoteserver1跳转到remoteserver2。在此过程中要先输入remoteserver1的密码,然后再输入remoteserver2的密码,然后就可以操作remoteserver2了。

5、通过SSH运行远程shell命令:

命令格式:

1

ssh -l name remoteserver ‘command'

说明:连接到远程主机,并执行远程主机的command命令。例如:查看远程主机的内存使用情况。

1

$ ssh -l root 192.168.1.100 svmon -G

6、修改SSH监听端口:

默认情况下,SSH监听连接端口22,攻击者使用端口扫描软件就可以看到主机是否运行有SSH服务,将SSH端口修改为大于1024的端口是一个明智的选择,因为大多数端口扫描软件(包括nmap)默认情况都不扫描高位端口。打开/etc/ssh/sshd_config文件并查找下面这样的行:

Port 22

去掉该行前面的# 号,然后修改端口号并重新启动SSH服务:

1

$ /etc/init.d/ssh restart

7、仅允许SSH协议版本2:

有两个SSH协议版本,仅使用SSH协议版本2会更安全,SSH协议版本1有安全问题,包括中间人攻击(man-in-the-middle)和注入(insertion)攻击。编辑/etc/ssh/sshd_config文件并查找下面这样的行:

1

2

3

# Protocol 2,1

修改为

Protocol 2

8、禁止root用户登录:

通常情况下,不采用直接用root用户登录到远程主机,由于root用户拥有超级权限,这样会带来安全隐患,所以,一般我们用普通用户登录,当需要管理远程主机时,再切换到root用户下。打开/etc/ssh/sshd_config文件并查找下面这样的行:

1

#PermitRootLogin yes

将#号去掉,然后将yes修改成no,重启ssh服务,这样就可以禁止root用户登录。

将#号去掉,然后将bannertest.txt文件的全路径替换/some/path,然后保存,重启ssh服务。当客户端登录时,就会看到bannertest.txt文件中的提示信息。

9、进行端口映射:

假如公司内网有台web服务器,但是只对内不对外,这样,外网就无法访问,可以用ssh进行端口映射来实现外网访问内网的web服务器。假如web服务器名为webserver,webserver可以用ssh访问到远端主机remoteserver,登录到webserver,然后用下面命令进行映射

命令格式:

1

ssh -R 3000:localhost:80 remoteserver

执行完成后,在remoteserver机器上,执行netstat -an | grep 3000,查看有没有开通3000端口。并执行以下命令观察是否可以打开webserver上的网页

1

$ w3m http://127.0.0.1:3000

如果能打开界面,说明映射成功.但是,这只限于本机访问web服务器,即只能remoteserver机器访问webserver。因为3000端口绑定的是remoteserver机器的127.0.0.1端口。可以编辑remoteserver机器上的/etc/ssh/sshd_config文件并添加如下内容:

添加 GatewayPorts yes 内容,把监听端口3000绑定到 0.0.0.0 地址上,这样外部的所有机器都能访问到这个监听端口,然后保存退出。并重启ssh服务。完成后其它机器就可以在浏览器中输入 http://remoteserver:3000来访问webserver了。

10、设置登录时提示信息

首先编辑一个文件,如bannertest.txt,文件内容自行定义。然后打开/etc/ssh/sshd_config文件并查找下面这样的行:

1

#Banner /some/path

以上就是本文的全部内容,希望对大家的学习有所帮助

来源:微点阅读   https://www.weidianyuedu.com

学习Linux命令:关于ssh命令相关推荐

  1. linux系统中ssh命令,Linux系统中SSH 命令的用法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中SSH命令的用法有哪些?一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通 ...

  2. 小猿圈Linux学习-Linux种搜索的命令

    做Linux工程师的每天都不能少的工作就是搜索文件,这是他们的日常活动,很繁琐很枯燥,所以我们就需要知道一些搜索的命令,这些命令更高效更快捷,今天小猿圈就给大家分享4个可以搜索的Linux命令.. 方 ...

  3. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  4. 使用hyper-v、CentOS学习Linux基本概念和命令

    1 虚拟机安装Linux操作系统 使用win10自带hyper-v:安装操作系统为CentOS: 安装过程出现    虚拟机 the image's hash and certificate are ...

  5. [收藏学习]Linux的实时监测命令

    十八.  和系统运行状况相关的Shell命令:    1. Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动 ...

  6. linux cut命令学习,Linux中的cut 命令详解

    今天小编要跟大家分享的文章是关于Linux中的cut 命令详解.cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中.我们可以使用 cut 命令从一行字符串 ...

  7. 学习Linux只要学会这个命令就够了!

    大家好,我是良许. 这段时间又是搬家,又是找新办公室,现在终于安顿下来了,有时间给大家分享干货了. 今天给大家介绍一个 Linux 超级实用命令,有了这个命令,你就可以愉快使用 Linux 上几乎所有 ...

  8. linux从本地上传文件命令,Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件...

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本 ...

  9. linux cadaver 命令,(个人学习Linux经历)文本命令

    [vbird@www ~]$command [-options] parameter1 parameter2... 命令     选项      参数(1)    参数(2) 说明: 0. 一行命令中 ...

最新文章

  1. Hadoop API文档地址
  2. iRobot的30年成长史
  3. 解决mantis不能上传附件问题
  4. 把Java程序打包成jar文件包并执行
  5. python 列表赋值操作可能存在的潜在问题
  6. python自动化测试——测试报告以附件形式发送邮件
  7. oracle控制文件修复,oracle控制文件的损坏或完全丢失的恢复办法
  8. setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位...
  9. C语言指向结构体的指针的例子
  10. 接口协议之抓包分析 TCP 协议
  11. 刷新率调高,或高于60Hz闪屏,忽明忽暗,晃动问题
  12. CSS-解决inline-block空隙的最好方法
  13. 通过EasyRecovery如何恢复被永久删除的音频?
  14. 《EDIUS 6.5快刀手高效剪辑技法》——1.5 常用视频术语简介
  15. html语言如何给网页添加标题,html网页标题标签 html文件添加标题使用什么标记...
  16. 初谈证券交易系统开发核心
  17. php面试常考函数,PHP面试常见算法、函数总结
  18. 迪士尼机器人芭蕾舞_迪士尼公园只有卡通公主?内含大量惊人科技感机器人
  19. html字大小自适应,html字体大小自适应 怎样让HTML字体自适应到移动端?
  20. 【C语言】之实现简单的打字程序

热门文章

  1. web 项目中资源下载出错,或者下载的文件对应的形式不对应,web 项目下载的文件自动打包为一个压缩包
  2. HDOJ1495 非常可乐(bfs)
  3. xshell卸载不干净导致无法安装
  4. 浙江大学计算机研究生答辩,浙江大学信息学院研究生申请答辩标准 | 求索阁
  5. idea查看类层次结构图
  6. [DSP 日常记录] #1 冯诺依曼结构、哈佛结构与改进型哈佛结构
  7. CoolFormat源代码格式化工具
  8. C#软件加序列号激活、试用期限
  9. bazel编译protobuf时 “ERROR: cc_toolchain does not have mandatory provider ‘ProtoInfo‘. “
  10. Clipper库 | 类型和填充规则