如何通過SSH讓服務器遠程執行命令?

如何通過SSH讓服務器遠程執行命令?

0x00 前言

我有一塊Pi,掛着個服務,但是這服務只要長時間沒有通訊就會自己掛起。試着用crontab每小時自動重啓,有時候還是得手動重啓服務。

所以,我想幹脆每次打開終端要用的時候啓動一下得了。

但是每次SSH,輸密碼,執行命令太麻煩了,就想着能不能只用一條命令完成這件事。

0x01 SSH執行命令

看了下手冊,通過SSH執行命令,其實只要在主機名後面加個命令就完了。

ssh [email protected]1.6 reboot

0x02 免密登入

遠程執行命令ok了,那就得解決一下免密登入了。

這個SSH也有自帶工具可以解決。

先在主機通過ssh-keygen生成公鑰私鑰對

ssh-keygen

一路回車,然後公鑰就默認保存在~/.ssh/id_rsa.pub了。

然後把公鑰拷到服務器的~/.ssh/authorized_keys文件

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

接着就能免密連接服務器,免密遠程執行命令了。

不過每次打一大串命令還是麻煩,有沒有辦法一句話完成呢?

0x03 命令別名

不知道alias怎麼翻譯,不過大概是別名的意思。

編輯~/.bashrc,這個文件會在你每次打開終端的時候自動執行。

在末尾加上一句

alias lalala="ssh [email protected] reboot"

接着只要在終端打lalala,服務器就重啓了。

這裏的reboot換成你要執行的命令就可以了。

原文地址:https://www.cnblogs.com/rpish/p/12344112.html

时间: 2024-10-08 22:31:46

如何通過SSH讓服務器遠程執行命令?的相关文章

Nginx反向代理服務器解析

Nginx反向代理服務器     反向代理(reverse proxy)方式是指用代理服務器來接受Internet上的連接請求,然後將請求轉發給内部網絡中的上游服務器,從上游服務器上得到返回結果給internet上請求連接的客戶端,此時,代理服務器對外的表現就是一個web服務器. nginx具有强悍的高并發高負載能力,因此一般會作爲前端的服務器直接向客戶端提供靜態文件服務,但也有一些複雜.多變的業務不適合放到nginx服務器上,這時會用apache,tomcat等服務器來處理. nginx通常會

在Centos雲服務器上架設python3.6環境

雲服務器的管理少不了ssh工具.這裏不得不安利一下MobaXterm ,讓用了多年putty的我感到相當驚豔.免費版已經相當夠用,箇中方便美觀用了才知道好不好:) 言歸正傳,這裏記錄下設置的步驟: 1,這個server的OS是CentOS 7.3,默認運行python2.7版本.因此第一個要做的安裝python3.6替換掉python2.7作爲默認python環境. python -V //可以看到現在的python版本which python //可以看到現在Python的可執行文件位置 //

創建HTTP 服務器

1 var http = require('http'); 2 var fs = require('fs'); 3 var server = http.createServer(function(req, res) { 4 if (req.url !== "/favicon.ico") { 5 req.on('data', function(data) { 6 console.log('服務器端接受到的數據: ' + decodeURIComponent(data)); 7 res.w

【Windows Server 2019】 Windows Admin Center 3 添加服務器

1.添加,選擇服務器2.輸入域的賬號(administrator)與密碼(###)3.輸入服務器名字,再輸入域的賬號(administrator)與密碼(###)4.因為沒有EX2019服務器的憑證,所以會出錯5.輸入計算機的管理員賬戶與密碼,注意,是本地計算機的管理員賬戶與密碼,按提交6.再次輸入域的賬號(administrator)與密碼(###)7.添加成功,再雙擊新添加的(ex2019.01ian.com)8.結果 原文地址:http://blog.51cto.com/happynews

SQL使用存儲過程訪問不同服務器

用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名) --导入示例 select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名) --创建链接服务器 exec sp_addlinkedserve

PHP header() 下載服務器文件亂碼,損壞解決辦法

header("Content-Type: application/octet-stream"); header('Content-Transfer-Encoding: binary'); header("Content-Disposition: attachment; filename=\"".$file_name."\""); readfile("lib/uploads/doc/".$file_name

用nslookup查看郵件服務器的IP是否被Spam Advisory列入黑名单

网上有很多spam advisory数据库,例如spamhaus之类的. 例如,要查询IP 1.2.3.4 是否被ahbl.org列入黑名单,可以用下列命令 nslookup 4.3.2.1.dnsbl.ahbl.org 如果返还的结果是Non-existent domain,说明没有问题 如果返还的结果是127.0.0.x,说明被列入了黑名单,x有可以能是1-255的数值,具体原因就因数据库而异了. 当然,有些数据库提供网页查询,也很方便. 用命令查看的好处是可以写脚本同时查看多个数据库. 附

使用Shell脚本查詢服務器硬件信息

1.为了方便查询服务器的硬件信息,将需要查询的内容整理成Shell脚步,输出自己想要的格式.其实就是通过dmidecode命令输出,然后通过sed,awk,cut命令的处理. 2.此脚步适用于HP DL系列的服务器,Dell PowerEdge系列的会有少许内容不同,所以在抓取过程会有小小报错. 3.脚步内容如下: #!/bin/bash ############################################################################ # 

在其他電腦上還原服務器上的備份數據庫時,會提示無法訪問用-->sp_change_users_login消除Sql Server的孤立用户

每次从服务器上备份好数据库(Sql Server数据库),如果将备份数据库文件在本地恢复,总会产生用户权限的问题. 经过很多次的实验后,我发现有那么一条语句可以发挥作用,就是sp_change_users_login语句. 具体用法:EXEC sp_change_users_login 'Update_One', '用户名', '登录名'; 擴展: 孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中