当我们要远程到其他主机上面时就需要使用ssh服务了。

我们就来安装一下sshd服务以及ssh命令的使用方法。

服务安装:

需要安装OpenSSH 四个安装包:

安装包:

openssh-5.3p1-114.el6_7.x86_64:包含OpenSSH服务器及客户端需要的核心文件

openssh-clients-5.3p1-114.el6_7.x86_64:OpenSSH客户端软件包

openssh-server-5.3p1-114.el6_7.x86_64:OpenSSH服务器软件包

openssh-askpass-5.3p1-114.el6_7.x86_64:支持对话框窗口的显示,是一个基于X 系统的密码

openssh-clients是作为客户端必须安装的包,openssh-server是作为服务端必须安装的包。

实验环境:

ip:192.168.1.63   作为服务端

ip:192.168.1.64   作为客户端

我们可以查看服务器是否安装openssh包。

[root@tiandong63 ~]# yum install openssh openssh-clients openssh-server -y

[root@tiandong63 ~]# /etc/init.d/sshd start

[root@tiandong63 ~]# chkconfig sshd on
[root@tiandong63 ~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

安装完成后我们查看是否安装

[root@tiandong63 ~]# rpm -qa |grep openssh
openssh-5.3p1-94.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64

查看安装的路径:

[root@tiandong63 ~]# rpm -ql openssh
/etc/ssh     #主安装目录
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ssh-keysign

.......

[root@tiandong63 ~]# ll /etc/ssh/      #查看一下主安装目录下的文件
total 156
-rw-------. 1 root root 125811 Nov 23 2013 moduli
-rw-r--r--. 1 root root 2047 Nov 23 2013 ssh_config      #客户端的配置文件
-rw-------. 1 root root 3879 Nov 23 2013 sshd_config    #服务端的配置文件
-rw-------. 1 root root 672 Mar 19 06:36 ssh_host_dsa_key
-rw-r--r--. 1 root root 590 Mar 19 06:36 ssh_host_dsa_key.pub
-rw-------. 1 root root 963 Mar 19 06:36 ssh_host_key
-rw-r--r--. 1 root root 627 Mar 19 06:36 ssh_host_key.pub
-rw-------. 1 root root 1675 Mar 19 06:36 ssh_host_rsa_key
-rw-r--r--. 1 root root 382 Mar 19 06:36 ssh_host_rsa_key.pub

此处不对配置文件做详细描述了,如果大家对配置文件有兴趣的话可以一块探讨一下。

此处在服务端做如下操作,在客户端也做如下操作。(在客户端上安装完成之后就可以远程了)

我们从客户端上远程服务端:

[root@tiandong64 ~]# ssh 192.168.1.63        此时输入密码后就可以远程到服务器上了
root@192.168.1.63's password:
Last login: Sun Mar 19 20:59:21 2017 from 192.168.1.105

[root@tiandong63 ~]#

此处我们来测试一下,如果服务器端没有安装openssh-server包的时候是否可以被远程呢。

[root@tiandong63 ~]# rpm -e openssh-server     卸载了服务器端的openssh-server包
[root@tiandong63 ~]# rpm -qa |grep openssh     查看没有了server包
openssh-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64

现在在客户端上ssh

[root@tiandong64 ~]# ssh 192.168.1.63
ssh: connect to host 192.168.1.63 port 22: Connection refused

在服务器端安装openssh-server包

[root@tiandong63 ~]# rpm -qa |grep openssh
openssh-5.3p1-94.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64

此时在来远程:

[root@tiandong64 ~]# ssh 192.168.1.63
root@192.168.1.63's password:
Last login: Sun Mar 19 21:21:58 2017 from 192.168.1.105
[root@tiandong63 ~]#

接下来讲一下双机互信,免秘钥登录。

[root@tiandong64 ~]# ssh-keygen

在本地生成了两个文件

[root@tiandong64 .ssh]# ls
id_rsa id_rsa.pub

在本地生成了两个文件:

此时生成了私钥和公钥,只需要把公钥传到客户机上就可以了。

[root@tiandong64 .ssh]# ssh-copy-id -i 192.168.1.63

此时在去远程,就可以免秘钥登录了。若要回复秘钥登录的话把传到目标端的文件删除了就可以了。

[root@tiandong64 ~]# ssh 192.168.1.63
Last login: Sun Mar 19 21:23:27 2017 from 192.168.1.64
[root@tiandong63 ~]#

在目标端删除公钥

[root@tiandong63 .ssh]# pwd
/root/.ssh
[root@tiandong63 .ssh]# rm -rf authorized_keys

在去远程,此时就需要秘钥了。

ssh以及双机互信的更多相关文章

  1. scp,ssh双机互信操作步骤

     Node1:# ssh-keygen -t rsa 这一步是生成密钥# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2.xueping365.com ~/.s ...

  2. 【转】【MySQL】MySQL的双机互信实战

    [转]https://www.cnblogs.com/mchina/archive/2013/03/15/2956017.html MySQL双机实战原理:利用ssh传输文件,通过公.私钥的共享,实现 ...

  3. ssh-copy-id(双机互信)

    最简单的2步骤: ssh-keygen -t rsa 需要输入的地方就回车 ssh-copy-id root@192.168.0.10 详细:ssh-keygen 创建公钥和密钥. ssh-copy- ...

  4. SSH免密钥互信及企业案例

    SSH远程免密码:  原理简述:客户端 创建公钥和私钥,公钥是锁,私钥是自己留在客户端的钥匙. 客户端将公钥(锁)发出到服务端,以后自己就能用客户端本地的私钥进行登陆,不用输入密码! 1.客户端,和服 ...

  5. ssh密匙互信操作【原创】

    1.简便ssh密匙信任方法 只在一台服务器上创建ssh-keygen [root@SMSJKSRVBJ02 ~]# ssh-keygen Generating public/private rsa k ...

  6. 用oracle自带的ssh脚本配置互信

    ./sshUserSetup.sh -user 用户名 -hosts "主机名1 主机名2 主机名3 ..." -advanced -noPromptPassphrase   这个 ...

  7. 记录一则Linux SSH的互信配置过程

    需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置登录用户的互信 1.各节点ssh-keygen生成RSA密钥和公钥 ssh-keygen -q -t rsa -N ...

  8. 第1章 ssh和SSH服务(包含隧道内容)

    本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...

  9. 第1章 ssh命令和SSH服务详解

    基础服务类系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种 ...

随机推荐

  1. Python(十) —— 多进程多线程

    进程线程概念 进程理解为一个程序,具体完成工作的是线程.比如说启动一个 QQ ,QQ 程序里面可以聊天,设置,查找好友等,那么这些功能就理解成各个线程,也就是单进程多线程的一个模式.进程理解成人脑子, ...

  2. js判断是否是对象获取子窗体值

    判断是否是对象 Object.prototype.toString.call(obj) 装换为数组 Array.prototype.slice.call(obj) 父窗体获取值子窗体值$(functi ...

  3. spring整合shiro配置BUG,Tomcat启动不了:Error during artifact deployment. See server log for details

    现象 spring配置shiro权限控制之后,项目无法启动 [2019-08-09 09:00:35,800] Artifact export_web_manager:war exploded: Er ...

  4. img 图像底部留白的原因以及解决方法

    有时候,我们在添加图片img标签后并没有给该标签设置magrin属性的margin-bottom值,在有些浏览器中打开就会出现图像底部留白,为什么为造成这个原因?下面就来进行分析:由于img元素默认为 ...

  5. linux常用命令(4)

    linux常用命令(4) --- Vim编辑器与Shell命令脚本 如何使用vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库: 通过vim编辑器将Linux命令放入合适的逻辑测试语句(if ...

  6. 利用 Monitor.TryEnter 来规避 .NET 线程死锁的源代码

    在开发多线程的应用程序时,我们会大量用到 lock (...) {} 块.如果 lock 的对象比较多,非常容易发生死锁.死锁的发生很难预料,而且一旦发生在界面线程上,界面就不再刷新响和应用户输入:如 ...

  7. 第十五章、Python多线程之信号量和GIL

    目录 第十五章.Python多线程之信号量和GIL 1. 信号量(Semaphore) 2. GIL 说明: 第十五章.Python多线程之信号量和GIL 1. 信号量(Semaphore) 信号量用 ...

  8. spring-02

    spring-02 1.谈谈你对 Spring 的理解 Spring 是一个开源框架,为简化企业级应用开发而生.Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.S ...

  9. three.js之性能监视器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Hadoop_11_HDFS的流式 API 操作

    对于MapReduce等框架来说,需要有一套更底层的API来获取某个指定文件中的一部分数据,而不是一整个文件 因此使用流的方式来操作 HDFS上的文件,可以实现读取指定偏移量范围的数据 1.客户端测试 ...