一、原理:

    使用SSH连接Centos时,我们可以创建一个公钥和一个私钥,公钥放在服务端,私钥放在客户端,当客户端去连接服务端时,会先去查找密钥,
    要是客户端的私钥可以和服务端的公钥匹配,我们就可以免密码登录,要是无法匹配,就需要我们去输入密码

二、实现步骤:

1、先配置ssh

        打开SSH的配置文件 ( /etc/ssh/sshd_config),找到以下内容,并去掉注释:
        RSAAuthentication yes    # 打开RSA认证
        PubkeyAuthentication yes    # 打开密钥认证
        AuthorizedKeysFile     .ssh/authorized_keys    # 公钥
        配置好之后重启ssh服务:/sbin/service sshd restart

2、生成公钥和私钥:

        ssh-keygen -t rsa  ( -t  指定生成的密钥为 rsa认证),一路回车就可以了,会在 /root/.ssh/目录下生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

3、修改 id_rsa.pub 的名称:

mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

4、将私钥拷贝到客户端:

        如果客户端是Linux系统,直接将文件放在 /root/.ssh/ 目录下就可以,这里我用的是Windows,然后我们需要用 Xshell 去连接服务器,
        打开Xshell,新建连接, 在 主机 那里输入你服务器的 IP 地址,然后点击用身份验证,在方法那里选择 Public Key,用户名 那里输入服务器给你提供的
        账户,然后点击浏览,点导入,找到你从服务器上拷贝下来的私钥,点打开,然后点确定 -> 确定 -> 连接就可以连接上了

三、scp 拷贝文件

1、将一个文件/目录从远程机器 scp 到本地机器

# 在 xshell 中,使用如下命令:
[root@Demon ~]# scp /home/demon/id_rsa Demon@192.168.1.57:/D:/

2、将一个文件/目录从本地机器 scp 到远程机器

[root@Demon ~]# scp  Demon@192.168.1.57:/D:/1.txt  /home/demon

四、写一个脚本,从一个文本文件中读取 IP 列表(每行一个 IP),并 SSH 登录这些 IP 所在的机器,将 /var/log/message 文件清空

#!/bin/bash
#Filename:test.sh
 
while read line;
do
    upt="ssh -nt -t root@$line rm -f /var/log/message";
    $upt;
 
done < test_ip.txt

15. SSH 远程的更多相关文章

  1. CentOS6无法本地登陆,ssh远程登陆没问题

    CentOS6无法本地登陆,ssh远程登陆没问题---使用CentOS自带的rsyslog分析调试 Apr 21 14:15:27 raccontroller init: tty (/dev/tty1 ...

  2. 修改ssh远程默认端口

    修改ssh远程默认端口 Linuxssh端口修改 1. 修改ssh配置文件 [root@distzabbix ~]# vim /etc/ssh/sshd_config 找到第17行附近#Port 22 ...

  3. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  4. Linux—修改ssh远程登录信息

    修改ssh远程登录端口 1.修改ssh服务的配置文件:/etc/ssh/sshd_config ,将 Port 22 改为 Port 3120 保存退出. [root@localhost ~]# vi ...

  5. SSH远程登录、.sh文件后缀运行、l l命令结果说明、VIM模式切换

    目录 SSH远程登录..sh文件后缀运行.l l命令结果说明.VIM模式切换 SSH远程安全登录 .sh文件后缀运行 l l命令结果说明 VIM模式切换 SSH远程登录..sh文件后缀运行.l l命令 ...

  6. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  7. 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案

    ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...

  8. Firefly安装ROS及ssh远程登录配置

    一.在Linux firefly 3.10.0 上安装ROS-indigo 快捷键 CTRL + ALT  + T 打开终端并安装ROS-indigo sudo sh -c 'echo "d ...

  9. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

随机推荐

  1. javaweb 学习的好地方

    http://www.cnblogs.com/xdp-gacl/p/3729033.html 强烈推荐这个哥们的学习笔记.太赞了.

  2. 软件工程师所需掌握的“终极技术”是什么?

    软件工程师所需掌握的"终极技术"是什么? http://yunli.blog.51cto.com/831344/1019990 最近,我在微博上看到@程序员邹欣老师发的一条微博 - ...

  3. VS2010 rdlc 被除数为0 显示错误号

    =Sum(Fields!ROCKNUM.Value/Fields!SEND.Value*100) 当Fields!SEND.Value为0或者空时,显示错误号 修改: =IIF(isnothing(F ...

  4. String功能测试

    package foxe; import java.io.IOException;import java.util.StringTokenizer; public class MainClass { ...

  5. 1、工程log4j 配置

    ### set log levels ### log4j.rootLogger = debug,stdout,R ### 输出到控制台 ### log4j.appender.stdout = org. ...

  6. ajax请求或者页面需要缓存,代码如下

    缓存页面代码 1 private void setClientCache(HttpServletResponse response, int maxAgeSec) 2 { 3 long maxAgeM ...

  7. C语言中的静态局部变量

    代码: 0x601070 0x7ffcf44243fc 0x60106c 0x60106c 0x60106c [hu@localhost test]$ cat test.cpp #include &l ...

  8. Opensuse13.2开启ssh

    要开启ssh很简单,步骤分为三步 步骤1: 安装ssh zypper install ssh 步骤2:启动ssh daemon网上很多通过 service 命令或者 init.d 目录中的脚本启动ss ...

  9. Hadoop文件的基本操作

    Hadoop提供了大量的API对文件系统中的文件进行操作,主要包括: (1)读取文件 (2)写文件 (3)读取文件属性 (4)列出文件 (5)删除文件 1、读取文件 以下示例中,将hdfs中的一个文件 ...

  10. map和reduce

    map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. map()传入的第一个参数是f,即函数对象本身.由于 ...