关于linux命令ssh的总结
因为项目计算量比较大,需要将任务分布到多台电脑上面运行,因为对于分布式概念不熟,就想到了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.客 ...
随机推荐
- C#设计模式之十九状态模式(State Pattern)【行为型】
一.引言 今天我们开始讲"行为型"设计模式的第六个模式,该模式是[状态模式],英文名称是:State Pattern.无论是现实世界,还是面向对象的OO世界,里面都有一个东西, ...
- 利用模板template动态渲染jsp页面
一.场景 在js中写html简直是噩梦,刚进新公司,在codereview的时候得知可以通过将html模板写在jsp页面,然后由js调取模板,利用replace()方法替换传值的方式避免在js中拼接h ...
- underscore源码解析(一)
留存root // Establish the root object, `window` (`self`) in the browser, `global` // on the server, or ...
- Android HandlerThread 源码分析
HandlerThread 简介: 我们知道Thread线程是一次性消费品,当Thread线程执行完一个耗时的任务之后,线程就会被自动销毁了.如果此时我又有一 个耗时任务需要执行,我们不得不重新创建线 ...
- Linux权限相关操作命令
以下是关于创建用户,设置用户密码,以及查看文件权限,给用户设置权限的一系列操作过程. #查看当前用户的信息[root@VM_64_7_centos tmp]# iduid=0(root) gid=0( ...
- textarea高度自适应,随着内容增加高度增加
$(function(){ $.fn.autoHeight = function(){ function autoHeight(elem){ ...
- python中namedtuple介绍
namedtuple:namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护.namedtuple能够用来创建类似于元祖的数 ...
- db2 调整连接数的优化
The Version 9.5 default for the max_coordagents and max_connections parameters will be AUTOMATIC, wi ...
- cs231n --- 3 : Convolutional Neural Networks (CNNs / ConvNets)
CNN介绍 与之前的神经网络不同之处在于,CNN明确指定了输入就是图像,这允许我们将某些特征编码到CNN的结构中去,不仅易于实现,还能极大减少网络的参数. 一. 结构概述 与一般的神经网络不同,卷积神 ...
- 有关Ajax跨域请求的解决方案
前言 最近博主在赶项目进度.所以微信二次开发那边的博文一直没有更新.后续时间会慢慢记录这个学习历程的.来年公司要开发微信小程序.到时也会记录一下历程. 闲话少说,今天在工作中遇到了SpringMVC接 ...