192.168.1.104作为客户机

192.168.1.103作为服务器

使用密钥登录

创建密钥对

在SSH客户机创建用户秘钥对

ssh-keygen -t rsa 之后全回车即可

将会在~/.ssh目录中生成两个文件:id_rsa(私钥) 与 id_rsa.pub(公钥)

上传公钥文件

当然,也可以直接将内容拷贝粘贴

scp ~/.ssh/id_rsa.pub chencye@192.168.1.103:~/.ssh/id_rsa.pub_192.168.1.104

导入公钥信息

在SSH服务器中导入公钥文本

在服务器中,目标用户(用来远程登录的用户)的公钥数据库位于~/.ssh/目录下,默认文件名是authorized_keys

注意修改authorized_keys权限

# 如果authorized_keys不存在,则创建它
touch ~/.ssh/authorized_keys
# 将上传的公钥添加到authorized_keys后面
cat ~/.ssh/id_rsa.pub_192.168.1.104 >> ~/.ssh/authorized_keys
# 修改authorized_keys权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# 查看authorized_keys最后一行
tail -1 ~/.ssh/authorized_keys

使用密钥对登录

在客户机上,可以直接使用命令ssh 192.168.1.103进行登录,而不需要输入用户名与密码了

远程执行命令

http://www.cnblogs.com/ilfmonday/p/ShellRemote.html

简单命令

双引号,必须有。如果不加双引号,第二个命令在本地执行

分号,两个命令之间用分号隔开

ssh chencye@192.168.1.103 "cd ~ ; touch ssh.txt"

使用脚本执行多命令

#!/bin/bash
ssh chencye@192.168.1.103 > /dev/null 2>&1 << sshoff
cd ~
touch autossh.txt
exit
sshoff echo "done!"

远程执行的内容在<< sshoffsshoff之间,在远程机器上的操作就位于其中

注意的点

sshoff可以随便修改成其他形式

重定向目的在于不显示远程的输出了

在结束前,加exit退出远程节点

ssh密钥登录及远程执行命令的更多相关文章

  1. expect脚本远程登录、远程执行命令和脚本传参简单用法

    expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expe ...

  2. SSH无密码登录及远程拷贝命令SCP的使用

    SSH无密码登录 1.生成密钥对(公钥和私钥) $ cd /home/cen/.ssh $ ssh-keygen -t rsa #生成密钥,使用rsa方式进行加密,四个回车 $ ssh-copy-id ...

  3. ssh 免交互登录 ,远程执行命令脚本。

    ##免交互SSH登录auto_login_ssh () {    expect -c "set timeout -1;                spawn -noecho ssh -o ...

  4. SSH远程执行命令环境变量问题

    SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  5. 解决SSH远程执行命令找不到环境变量的问题

    通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题.但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的.两种相似的方法,得到的结果却截然不同, ...

  6. 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

    expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set h ...

  7. ssh 远程执行命令

    SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进 ...

  8. 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

    7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...

  9. [转帖]ssh 远程执行命令

    ssh 远程执行命令 https://www.cnblogs.com/youngerger/p/9104144.html SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是 ...

随机推荐

  1. Java学习笔记之I/O流(读取压缩文件以及压缩文件)

    1.读取压缩文件:ZipInputStream 借助ZipFile类的getInputStream方法得到压缩文件的指定项的内容,然后传递给InputStreamReader类的构造方法,返回给Buf ...

  2. html屏蔽右键、禁止复制与禁止查看源代码

    <script> function doNothing(){ window.event.returnValue=false; return false; } </script> ...

  3. 取得GridView某行的DataKey

    首先绑定DataKeyNames GridView.DataKeyNames = new string[] { "字段名称" }; 取值 string aaa= GridView. ...

  4. webview h5页面 关闭

    说明:在 ios 安卓  客户端上的h5页面执行完毕关闭h5页面   引入的js在文件中的xhdoctor_mobile.rar

  5. 灵感闪现 篇 (一) 2d场景 3d 效果

    中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之 ...

  6. 使用U盘在Mac机上装win8.1系统

    1.首先要准备一个8G的U盘,用苹果机格式化为FAT格式.注意:U盘格式化之前要对U盘里的文件备份,U盘格式化后,里边的内容会清空. 2.下载原版win8.1系统,不要下载ghost版,http:// ...

  7. 5--OC--构造方法

    //  Created by Stephen on 16/3/2.//  Copyright © 2016年 Stephen. All rights reserved.//// 回顾上一章节Perso ...

  8. ubuntu11.10server 安装redis-2.6.7

    1.下载安装: 1 2 3 4 5 6 cd /tmp wget http://redis.googlecode.com/files/redis-2.6.7.tar.gz tar -zxf redis ...

  9. 转:Selenium中的几种等待方式,需特别注意implicitlyWait的用法

    最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. ...

  10. sphinx分域搜索【不】需要在conf文件中使用sql_field_string

    请看sql_field_string的文档说明: # combined field plus attribute declaration (from a single column) # stores ...