一、原理:

    使用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. C# 将窗口移动到指定位置

    private void button1_Click(object sender, EventArgs e) { Frm f = new Frm(); f.StartPosition = FormSt ...

  2. 单例模式(Singleton)详解——转载

    单例模式(Singleton) 首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了, 比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个, 这里就可以通过 ...

  3. ASP.NET MVC4 + Highcharts生成报表

    //后端 public ActionResult TighteningReport(BReportTighteningReportModel model, string rate, string we ...

  4. g++实用技巧

    查看代码文件包含了哪些头文件 g++ -M FileName

  5. Freemarker日期函数处理【转】

    Freemarker日期函数处理[转] (2012-08-01 14:32:13) 转载▼ 标签: 杂谈   string(当和一个日期值一起使用) 这个内置标签用指定的格式把日期转换成字符串,(把默 ...

  6. 利用JS实现闪烁字体

    以下为在JSP文件中,利用JS实现闪烁字体的代码: HTML代码: <div id="blink">一段会闪烁的字</div> JavaScript代码: ...

  7. 火狐Firefox 浏览器 onblur() 并且alert()时文本被选中问题

    说明:镜像是组成在线实验课程的基础环境,教师设计的实验绑定一个或多个镜像,就组成了一讲独立的在线实验课程. 镜像名称:     火狐Firefox 浏览器 onblur() 并且alert()时文本被 ...

  8. CSS定义网页滚动条

    (一)滚动条样式主要涉及到如下CSS属性: overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容overflow: auto; 在需要时内容会自动添加滚动条overflow ...

  9. c# 弹出框-后台调前台函数

    前台代码: <script src="../../../Common/Scripts/Order/popup.js" type="text/javascript&q ...

  10. C语言日期时间标准库

    用思维导图整理: 代码: #include <stdio.h> #include <time.h> #include <string.h> int main() { ...