一、 配置ssh

1. 命令

ssh-keygen [选项]

2. 说明

用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥

3. 选项

-C:添加注释

-f:指定用来保存密钥的文件名

-l:显示公钥文件的指纹数据

-q:静默模式

-t:指定要创建的密钥类型,密钥类型包括rsa和 dsa两种。如果没有指定则默认生成用于SSH-2的RSA密钥

4. 示例

1、在hadoop1上为hadoop用户配置ssh

1) 切换到hadoop用户,并进入hadoop用户的家目录

2) 输入“ssh-keygen -t rsa”,生成秘钥

3) 进入到.ssh目录,使用“cp id_rsa.pub authorized_keys”命令,把公钥复制到认证文件(authorized_keys)中,如下所示

4) 确保.ssh目录的权限是700(使用chmod 700 .ssh命令修改),确保.ssh目录下所有文件(authorized_key、id_rsa、id_rsa.pub)的权限是600(使用chmod 600 .ssh/*命令修改),如下所示

5) 在这里已经配置了IP与主机名的关系,所以直接输入“ssh hadoop1”登录就可以,第一次登录需要输入密码,第二次登录就不需要输入密码啦

备注:

配置ip与主机名的关系,请参考“配置hosts文件

2、现在配置两台主机无密码互相访问

下面在hadoop1、hadoop2两台主机上,使用hadoop用户无密码互相访问两台主机。前提条件,在hadoop1、hadoop2两台主机上都创建hadoop用户,并且在hadoop1、hadoop2两台主机上都配置了hadoop1与hadoop1主机ip的关系,hadoop2与hadoop2主机ip的关系

1、参考示例1的步骤,在hadoop1上为hadoop用户配置ssh

2、参考示例1的步骤,在hadoop2上为hadoop用户配置ssh

3、将hadoop2中的公钥id_ras.pub拷贝到hadoop1中的authorized_keys文件中,在hadoop2上执行“cat ~/.ssh/id_rsa.pub | ssh hadoop@hadoop1 'cat >> ~/.ssh/authorized_keys'”命令即可,如下所示

4、将hadoop1中的authorized_keys文件分发到hadoop2中.ssh目录下,在hadoop1上执行“scp -r authorized_keys hadoop@hadoop2:~/.ssh/”,如下所示

5、在hadoop1上访问hadoop1、hadoop2;在hadoop2上访问hadoop2、hadoop1,效果如下

表示配置成功

二、 重启ssh

service sshd restart

三、 使用ssh

1. 命令

ssh [选项] [参数]

2. 说明

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

3. 选项

-t:指定密钥类型,密钥类型包括rsa和 dsa两种。如果没有指定则默认生成用于SSH-2的RSA密钥

-P:指定密码

4. 参数

远程主机:指定要连接的远程ssh服务器

指令:要在远程ssh服务器上执行的指令。

5. 示例

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Linux命令之ssh的更多相关文章

  1. N天学习一个linux命令之ssh

    用途 通过加密连接,远程登录主机和在远程主机执行命令,也可以用于转发x11和tcp,也可用于搭建VPN.第一次连接时,会弹出远程主机公钥指纹确认信息,通过这个方式防止中间人攻击. 用法 ssh [op ...

  2. Linux 命令之 scp 命令详解

    Linux 命令之 scp 命令详解 一.scp 简介 scp 命令用于不同主机之间复制文件和目录. scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令. s ...

  3. SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

    一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...

  4. linux命令-ssh {远程登录}

    一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname

  5. jsch ssh服务器调用Linux命令或脚本的小问题

    代码如下: public static boolean execshell(String command, String user, String passwd, String host) throw ...

  6. Linux下使用SSH远程执行命令方法收集

    说明:可以做SSH免密登录之后执行,这样可以省去每次执行输入密码的提示. 对于简单的命令: 如果是简单执行几个命令,则: ssh user@remoteNode "cd /home ; ls ...

  7. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  8. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  9. Java开发必会的Linux命令

    Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...

随机推荐

  1. Eclipse导入Android项目的正确方法

    转自Eclipse导入Android项目的正确方法 看网上流传的Eclipse导入项目的方法都是在新建Android程序时使用"Create project form existing so ...

  2. Java 8 的 JVM 有多快?Fork-Join 性能基准测试

    Java 8 已经发布一段时间了,许多开发者已经开始使用 Java 8.本文也将讨论最新发布在 JDK 中的并发功能更新.事实上,JDK 中已经有多处java.util.concurrent 改动,但 ...

  3. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

  4. [OJ] Insert Interval

    LintCode #30. Insert Interval (Easy) LeetCode #57. Insert Interval (Hard) class Solution { public: v ...

  5. 【HDOJ】2732 Leapin' Lizards

    贪心+网络流.对于每个结点,构建入点和出点.对于每一个lizard>0,构建边s->in position of lizard, 容量为1.对于pillar>0, 构建边in pos ...

  6. Trie 树(转)

    看了很多 Trie 树的介绍, 这篇讲的最好,简单易懂(特别是代码部分),直接转载:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207 ...

  7. JavaScript数学函数的操作

    <script> var a=3.14; var a1=Math.ceil(a);//大于当前小数的最小整数; alert(a1); var a2=Math.floor(a);//小于当前 ...

  8. POJ_1742_Coins_(动态规划,多重部分和)

    描述 http://poj.org/problem?id=1742 n种不同面额的硬币 ai ,每种各 mi 个,判断可以从这些数字值中选出若干使它们组成的面额恰好为 k 的 k 的个数. 原型: n ...

  9. Docker在云环境中的应用实践初探:优势、局限性与效能评测

    作者 商之狄 发布于 2014年11月10日 本文依据笔者所在团队的一些近期开发和应用的实践,整理出一些有意义的信息,拿出来和社区分享.其中既包括在云端应用Docker与相关技术的讨论,同时也有实施过 ...

  10. Hive JSON数据处理的一点探索

    背景   JSON是一种轻量级的数据格式,结构灵活,支持嵌套,非常易于人的阅读和编写,而且主流的编程语言都提供相应的框架或类库支持与JSON数据的交互,因此大量的系统使用JSON作为日志存储格式.   ...