因为项目计算量比较大,需要将任务分布到多台电脑上面运行,因为对于分布式概念不熟,就想到了linux最简单的ssh协议,远程控制其他电脑,然后写shell脚本统一在所有电脑上运行程序.(我的操作系统为Ubuntu16.04)
首先在各自电脑上面输入以下命令查看是否安装了ssh
ps -e | grep ssh
如果返回结果由上图中的sshd,则说明已经安装好ssh,否则线安装.
sudo apt-get install ssh 安装即可.
接下来我们使用ssh登录其他电脑的时候,ssh username@ip登录,会提示需要输入密码.这时候输入密码即可远程控制另一台电脑.
(ifconfig查看ip)
如果有十台电脑需要你连接,分配任务,这样做就要每次都记住相应的电脑ip和密码,不利于我们用脚本统一运行,因此第一步就是需要将需要远程控制的电脑免密登录.
首先我们在你自己的电脑上面生成密钥.
ssh-keygen,然后一路enter,此时会在主目录下生成.ssh的文件夹
ls -a (查看是否生成.ssh文件夹)
进入.ssh文件夹,查看文件
此时说明秘钥对已经生成好了.接下来将公钥通过scp拷贝到你需要连接的电脑上.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub username@ip:~/.ssh/id_rsa.pub_copy
接下来远程连接上你需要连接作为服务器的电脑
touch ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub_copy >> ~/.ssh/authorized_keys
这时候就到了最后一步,修改权限
chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
这里很多人不太明白755,700,600这些数据的含义,这个是linux权限的数字表达方式.
给大家说明一下,比如我们在查看某个文件的权限时
我们会看到上面的结果,前面这一部分是由十位组成,1-3-3-3的方式,第一个字母表示文件类型,d表示的就是文件夹document的第一个字母,接下来第一个三位表示所有者的权限,第二个三位是所在组的权限,第三个三位是其他组的权限.R--读,W-写,X-执行,所以rwx表示当前组可读可写可执行.回到上面数字,R同时对应数字4,W对应2,X对应1.现在可以明白755表示所有者是可读可写可执行,所在组是可写可执行,其他组也是可写可执行.
好啦,现在可以测试一下是否可以免密码登录他人电脑了.
在运行过程中,你可能会遇到这个问题,这是表明ssh-agent在运行,但是没有找到相应的key,我们通过ssh-add,即可解决,同时也可以通过ssh-add -l来查看附加的key.
在远程连接中还是需要输入用户名和ip,如果你不想输入用户名,就在最初为所有的电脑创建一个相同的用户即可.
脚本运行所有程序
Screen -dm ssh -t username1@ip1 “...” (在引号里面输入你想运行的命令即可)
Screen -dm ssh -t username2@ip2 “...”
ps:写得不好的地方希望大家多多指教.
关于linux命令ssh的总结的更多相关文章
-
菜鸟学Linux命令:ssh命令 远程登录
1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...
-
linux命令-ssh {远程登录}
一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname
-
Linux命令:ssh
ssh介绍 ssh用法 ssh帮助 SSH() BSD General Commands Manual SSH() NAME ssh — OpenSSH SSH client (remote logi ...
-
每天一个linux命令--ssh的host配置用户名密码
1.在终端输入 cd ~/.ssh/ vi config 输入服务器的用户名和密码 souche@kickseed:~/.ssh$ cat config # 这是跳板机的配置,给跳板机的 IP 起个别 ...
-
linux命令--ssh创建隧道
工作应用场景 在工作中,总会连接到各种不能直接访问的环境,所以我们必须使用ssh隧道进行访问. 原理简介 ssh隧道:https://www.jianshu.com/p/20600c91e656
-
SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题
一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...
-
Linux 使用 ssh 命令远程连接另一台 Linux
用 Linux 系统的 ssh 命令远程连接另一台 Linux 机器的命令 #ssh 用户名@主机名(IP地址) 例: #ssh root@10.41.24.138 ...
-
linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都 ...
-
Linux远程ssh执行命令expect使用及几种方法
expect命令实现脚本免交互 一.Linux下SSH无密码认证远程执行命令 在客户端使用ssh-keygen生成密钥对,然后把公钥复制到服务端(authorized_keys). 实现步骤: 1.客 ...
随机推荐
-
WEB API 中HTTP的get、post、put,delete 请求方式
一.WEB API 中HTTP 请求方式的四个主要方法 (GET, PUT, POST, DELETE), 按照下列方式映射为 CURD 操作: 1.POST 用于新建资源,服务端在指定的URI 上创 ...
-
ODATA 云驱动 http://www.cdata.com/cloud/
ODATA 云驱动 http://www.cdata.com/cloud/ 目前支持:ORACLE.MS SQL . MYSQL. -------------- rssbus ht ...
-
zboot/piggyback.c
/* * linux/zBoot/piggyback.c * * (C) 1993 Hannu Savolainen */ /* * This program reads the c ...
-
UVA 562 Dividing coins
题目描述:给出一些不同面值的硬币,每个硬币只有一个.将这些硬币分成两堆,并且两堆硬币的面值和尽可能接近. 分析:将所有能够取到的面值数标记出来,然后选择最接近sum/2的两个面值 状态表示:d[j]表 ...
-
LNMP一键安装包 V1.1
通告
LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...
-
20162327WJH程序设计与数据结构第七周总结
学号 20162327 <程序设计与数据结构>第7周学习总结 教材学习内容总结 1.关于接口的理解:接口可以理解为比较纯粹的抽象类 2.接口的特点:用interface定义接口 接口中的方 ...
-
6.1Python数据处理篇之pandas学习系列(一)认识pandas
目录 目录 (一)介绍与测试 2.作用: 3.导入的格式 4.小测试 (二)数据类型 1.两种重要的数据类型 2.pandas与numpy的比较 目录 (一)介绍与测试 号称处理数据与分析数据最好的第 ...
-
app常见专项测试点
转载自 https://blog.csdn.net/xiaomaoxiao336368/article/details/84887948
-
[ZJOI2007]矩阵游戏——非常漂亮的二分图转化
题意: 小 Q 是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个 N×N 黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作: ...
-
ListView优化中的细节问题
1.android:layout_height属性: 必须将ListView的布局高度属性设置为非“wrap_content”(可以是“match_parent / fill_parent / ...