ssh无密码登录及远程执行脚本要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS7为例。

  测试环境:机器A(10.0.224.80);机器B(192.168.7.172)。现想A通过ssh免密码在B上远程执行命令。

  1、首先在A机下生成公钥/私钥对:(-P表示密码,-P '' 就表示空密码,一次回车即可。在~/.ssh会生成id_rsa和id_rsa.pub两个文件)

[root@registry home]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): (直接回车)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e8:a1:c0:cc:d0:2c::::0f:c7::2b::: root@registry
The key's randomart image is:
+--[ RSA ]----+
| +...o E. |
|++ =. * . |
|B o . o o |
|.* + |
| = o S |
| . o . |
| . . |
| |
| |
+-----------------+
[root@registry home]# cd ~/.ssh/
[root@registry .ssh]# ll
总用量 12
-rw-------. 1 root root 1675 4月   5 13:27 id_rsa
-rw-r--r--. 1 root root  395 4月   5 13:27 id_rsa.pub
-rw-r--r--. 1 root root 2492 4月   5 10:52 known_hosts

  2、将A机下的id_rsa.pub复制到B机下

[root@registry .ssh]# scp ~/.ssh/id_rsa.pub root@192.168.7.172:/home
root@192.168.7.172's password:
id_rsa.pub % .4KB/s :

  3、在B机上,将从A机复制的id_rsa.pub添加到~/.ssh/authorzied_keys文件里,并赋予权限

[root@CCC ~]# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
[root@CCC ~]# chmod ~/.ssh/authorized_keys

  4、测试(注,第一次登录时需要手动输入yes)

    执行远程命令

[root@registry home]# ssh root@192.168.7.172 "cd /home; ls"
calico.tar
laizy
nagios
ubuntu.tar
[root@registry home]# ssh root@192.168.7.172 "ifconfig ens33"
ens33: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.7.172 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::20c:29ff:fecd:7e7c prefixlen scopeid 0x20<link>
ether :0c::cd:7e:7c txqueuelen (Ethernet)
RX packets bytes (19.8 MiB)
RX errors dropped overruns frame
TX packets bytes (18.8 MiB)
TX errors dropped overruns carrier collisions [root@registry home]#

    免密码,远程登录

[root@registry home]# ssh root@192.168.7.172
Last login: Tue Apr :: from 192.168.7.146
[root@CCC ~]# ifconfig ens33
ens33: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.7.172 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::20c:29ff:fecd:7e7c prefixlen scopeid 0x20<link>
ether :0c::cd:7e:7c txqueuelen (Ethernet)
RX packets bytes (20.0 MiB)
RX errors dropped overruns frame
TX packets bytes (18.9 MiB)
TX errors dropped overruns carrier collisions

SSH 无密码远程执行脚本的更多相关文章

  1. Linux远程无密码登陆并远程执行脚本

    假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa ss ...

  2. SSH非交互式密码授权远程执行脚本

    公司有上百台服务器,需要为每台服务器都执行一个脚本,因为所有服务器的账号密码都是一样的,所以可以不用搭建ansible等自动化运维工具,我们直接通过SSH远程执行即可完成. 本文以三台服务器为例,系统 ...

  3. SSH登录远程主机执行脚本找不到环境变量

    这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash.一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么 ...

  4. ssh连接远程主机执行脚本的环境变量问题

    近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题: ~/myscript.sh: line n: app: co ...

  5. [ 转载 ] ssh连接远程主机执行脚本的环境变量问题

    近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题: ~/myscript.sh: line n: app: co ...

  6. JSch远程执行脚本

    JSch远程执行脚本 2017-02-24 在自动化测试的时候,需要远程操控服务器做一些操作,比如切日.起服务器.执行某些脚本.如何实现? 我们可以利用JSch,远程执行脚本.JSch是Java Se ...

  7. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  8. 批量实现SSH无密码登陆认证脚本

    批量实现SSH无密码登陆认证脚本 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-key-ge ...

  9. jenkins远程执行脚本时报Bad version number in .class file

    这几天在学习jenkins的持续集成和部署,到了最后一步启动服务的时候,遇到了一个这个Bad version number in .class file的报错(如下图). 这个报错在最开始手工部署的时 ...

随机推荐

  1. Jfinal验证码功能

    //验证码工具类 import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.B ...

  2. Winform程序以Icon的形式显示在任务栏右下角

    Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件, 在使窗体最 ...

  3. 一款名為com.apple.pcapd的服務

    一款名為com.apple.pcapd的服務,通過libpcap網路數據包捕獲函數包捕獲流入和流出iOS設備的HTTP數據.據紮德爾斯基稱,這一服務在所有iOS設備上都是默認啟動的,能被用來在用戶不知 ...

  4. Harris角点检测算法优化

    Harris角点检测算法优化 一.综述 用 Harris 算法进行检测,有三点不足:(1 )该算法不具有尺度不变性:(2 )该算法提取的角点是像素级的:(3 )该算法检测时间不是很令人满意. 基于以上 ...

  5. IOS彩票第三天界面

    ******ios6 和ios7的适配 ILBaseTableViewController.m - (void)viewDidLoad { [super viewDidLoad]; // 244 24 ...

  6. IOS第18天(1,核心动画layer, 旋转,缩放,平移,边框,剪裁,圆角)

    ****动画效果 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [UIView animateWithDurat ...

  7. windows 快捷键

    Windows 系统 f6  在同一个应用的不同窗口进行切换 ctrl-shift 拖动,创建文件快捷方式 shift 右键点击文件 可以出现复制路径的菜单 WIN键组合键 Windows Key + ...

  8. 001_从原理上搞定编码-- Base64编码

    开发者对 Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时 ...

  9. JavaMail接、收邮件

    我总算把这个研究出来啦.... 不要觉得 代码有点多哈. 我们先来说发送邮箱吧,首先建立一个属性文件*.properties sys.properties server=smtp.163.com ## ...

  10. Javascript模块化编程(二):AMD规范 作者: 阮一峰

    声明:转载自阮一峰的网络日志 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可 ...