美文网首页
Linux怎么远程执行指令呢-SSH秘钥

Linux怎么远程执行指令呢-SSH秘钥

作者: 刘小白DOER | 来源:发表于2020-09-27 00:01 被阅读0次

    在Linux运维中,自动化运维提高运维工程师的工作效率,减少人为失误。Ansible 是近年来越来越火的一款开源运维自动化工具,无客户端模式,底层通过 SSH 通信。笔者就想把它啃下来,无奈知识薄弱,只能从小处着手,积少成多慢慢来!

    Linux怎么远程执行指令呢?ssh pi@192.168.31.103 "ls"  或者ssh 192.168.31.103 "ls" ,远程执行命令,需要输入密码,这个在远程是有交互提醒输入密码,会增加麻烦,也不够自动化。是否可以不用输入密码,直接远程执行命令呢?SSH秘钥!

    dpkg -l | grep ssh可以查看是否安装了客户端 openssh-client 和服务器 openssh-server。如果没有可以搜索apt-cache search openssh-client、apt-cache search openssh-server是否有源,然后安装sudo apt-get install openssh-client 、sudo apt-get install openssh-server。

1、192.168.31.76本机生成密钥对。

    使用ssh-keygen命令生成密钥对,私钥文件 id_rsa 和公钥文件 id_rsa.pub。

    ssh-keygen -t rsa     #-t表示类型选项,这里采用rsa加密算法。根据提示一步步的按enter键即可,需要设置密钥对文件夹,设置私钥口令passphrase(可不设)。执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。

2、将公钥复制到远程主机192.168.31.82中

    使用ssh-copy-id命令将公钥复制到远程主机。ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中。

    ssh-copy-id pi@192.168.31.82。这一条命令是需要输入密码的。

3、完成密钥对部署,测试

        ssh 192.168.31.82 "ls" 。远程看用户目录下的文件;

        ssh 192.168.31.82 "./ipaddress.sh"。远程执行脚本ipaddress.sh查看IP地址。

linux远程执行命令

        远程执行程序时,关闭终端会中断ssh连接,远程主机上程序会自动停止。 nohup + 需要运行的程序使运行的程序在切断ssh连接的时候仍然能够继续在远程主机中运行。nohup是no hang up(不挂起)。上面的命令改写成ssh 192.168.31.82 "nohup ./ipaddress.sh",ipaddress.sh脚本执行时间很短,意义不大。如果有其他一直运行的服务,比如脚本里面有循环的话,意义就很大了。在脚本后面加个&直接在后台运行。

    一条命令直接远程执行,那么在脚本里面就可以很方便的控制远程主机的进程等等,利用PHP的shell_exec函数又可完成网络监控功能。

相关文章

  • Linux怎么远程执行指令呢-SSH秘钥

    在Linux运维中,自动化运维提高运维工程师的工作效率,减少人为失误。Ansible 是近年来越来越火的一款开...

  • Linux服务器ssh免密登录

    1、本地生成秘钥文件 ssh-keygen -t rsa 执行上述命令,一路回车; 2、拷贝本地秘钥内容至远程服务...

  • linux配置免秘钥登录

    linux 配置免秘钥登录 对每台机器运行ssh-keygen -t rsa指令 生成公钥文件 id_rsa.p...

  • 配置git环境

    1.首先要配置本地ssh秘钥。 远程仓库中添加已经生成好的 ssh秘钥。 廖雪峰git学习网站—>远程仓库目录...

  • RHCE认证学习-ssh篇

    SSH远程登录软件 1、秘钥认证 ssh 用户名@$ip 2、创建秘钥对登录 1.生成秘钥对 2.把公钥发送至想登...

  • Linux ssh 免密登录

    生成秘钥文件ssh-keygen -t rsa 公钥传输至远程机器(.ssh/authorized_keys)ss...

  • ssh使用秘钥免密码登录(转载)

    ssh使用秘钥免密码登录 使用ssh远程连接服务器,有两种身份校验方式:账号密码和秘钥。使用秘钥的方式理论上更加安...

  • 基于密钥方式的SSH连接

    SSH实现基于秘钥连接的部署步骤 管理端创建秘钥对信息 管理端需要将公钥进行分发 进行远程连接测试

  • ssh秘钥远程

    1) 创建用户user : 2) 在user根目录创建.ssh目录并设置读取权限 : 3) 创建基于SSH协议的...

  • GitHub代码管理

    GitHub代码管理 下载安装好Git 一、配置ssh秘钥: 配置电脑和远程仓库账号的身份认证秘钥 配置成功之后,...

网友评论

      本文标题:Linux怎么远程执行指令呢-SSH秘钥

      本文链接:https://www.haomeiwen.com/subject/bjihuktx.html