Linux的ssh登录命令,Linux SSH登录命令总结

Linux的ssh登录命令,Linux SSH登录命令总结当项目计算量比较大 我们需要将任务分布到多台电脑上面运行 因为对于分布式概念不熟 就想到了 Linux 最简单的 ssh 协议 远程控制其他电脑 然后写 shell 脚本统一在所有电脑上运行程序 简单说 SSH 是一种网络协议 用于计算机之间的加密登录 如果一个用户从本地计算机 使用 SSH 协议登录另一台远程计算机 我们就可以认为 这种登录是安全的 即使被中途截获 密码也不会泄露 最早的时候 互联网通信都是明文通

当项目计算量比较大,我们需要将任务分布到多台电脑上面运行,因为对于分布式概念不熟,就想到了Linux最简单的ssh协议,远程控制其他电脑,然后写shell脚本统一在所有电脑上运行程序。

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

下面我们以Ubuntu 16.04为例子看看使用ssh有哪些步骤:

1

在电脑中输入以下命令查看是否安装了ssh:

—ps -e | grep ssh

b3318cf5b6de2e4bdd636c4c17abd3a7.png

如果返回结果由上图中的sshd,则说明已经安装好ssh,否则可以使用下面命令在线安装:

—sudo apt-get install ssh

2

使用ssh命令登录其他电脑:

—ssh username@ip,

会提示需要输入密码,这时候输入密码即可远程控制另一台电脑.

cadfcd8b7d659ba16b6ee1226f7dd0b7.png

3

ifconfig查看ip

495222ca632b5a8e59d2a97f02edb767.png

如果有十台电脑需要你连接,分配任务,这样做就要每次都记住相应的电脑ip和密码,不利于我们用脚本统一运行,因此第一步就是需要将需要远程控制的电脑免密登录.

4

生成密钥:

—ssh-keygen

然后一路enter,此时会在主目录下生成.ssh的文件夹

用下面命令可以进行检查核对:

—ls -a

6e4f631b454a9adc2a6b82e710b22101.png

此时说明秘钥对已经生成好了

5

将公钥通过scp拷贝到你需要连接的电脑上:

—cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

—scp ~/.ssh/id_rsa.pub username@ip:~/.ssh/id_rsa.pub_copy

6

远程连接上你需要连接作为服务器的电脑:

—touch ~/.ssh/authorized_keys

—cat ~/.ssh/id_rsa.pub_copy >> ~/.ssh/authorized_keys

7

修改权限:

—chmod 755 ~

—chmod 700 ~/.ssh

—chmod 600 ~/.ssh/authorized_keys

这里整个流程就结束了!

这里很多人不太明白755,700,600这些数据的含义,这个是linux权限的数字表达方式.给大家说明一下,比如我们在查看某个文件的权限时:

f8866b2a410babc90c713fa63b0ad94e.png

我们会看到上面的结果,前面这一部分是由十位组成,1-3-3-3的方式,第一个字母表示文件类型,d表示的就是文件夹document的第一个字母,接下来第一个三位表示所有者的权限,第二个三位是所在组的权限,第三个三位是其他组的权限.R–读,W-写,X-执行,所以rwx表示当前组可读可写可执行.回到上面数字,R同时对应数字4,W对应2,X对应1.现在可以明白755表示所有者是可读可写可执行,所在组是可写可执行,其他组也是可写可执行.好啦,现在可以测试一下是否可以免密码登录他人电脑了:

7284ce6117692f0d8e404c7ca548fdf2.png

在运行过程中,你可能会遇到这个问题,这是表明ssh-agent在运行,但是没有找到相应的key,我们通过ssh-add,即可解决,同时也可以通过ssh-add -l来查看附加的key.

3af5ad62d5e89b633fec022412e9b191.png

在远程连接中还是需要输入用户名和ip,如果你不想输入用户名,就在最初为所有的电脑创建一个相同的用户即可.脚本运行所有程序:

Screen -dm ssh -t username1@ip1 “…”  (在引号里面输入你想运行的命令即可)

Screen -dm ssh -t username2@ip2 “…”

ps:写得不好的地方希望大家多多指教.!

0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233776.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android下基于Iptables的一种app网络访问控制方案(一)[通俗易懂]

    Android下基于Iptables的一种app网络访问控制方案(一)[通俗易懂]1.什么是Iptable?百度百科对于Iptables有详细的介绍。简单地说,Iptables是Linux内核提供的一套IP信息包过滤系统,对外由Iptables命令提供设置过滤规则的入口。Android是基于Linux的操作系统,支持Iptables。执行Iptables命令需要root权限。 2.如何配置Iptables命令链?假设一个安卓系统网络访问管理体系,需要针对不同

    2022年7月23日
    6
  • File类createNewFile与createTempFile的区别[通俗易懂]

    自:http://www.cnblogs.com/huangyibo/p/3667714.html最近,在看代码时看到了一个方法,File.createTempFile(),由此联想到File.createNewFile()方法,一时间不知道两者到底有什么区别,感觉都是创建新文件嘛,后来查看api文档介绍,并经过自己动手试验,终于有了一个较为清楚地认识。 1.File的crea…

    2022年4月11日
    43
  • session的生命周期

    session的生命周期

    2021年11月6日
    52
  • Java酒店管理系统_java酒店管理系统报告

    Java酒店管理系统_java酒店管理系统报告基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的小型酒店管理系统,该项目可用各类java课程设计大作业中,小型酒店管理系统的系统架构分为前后台两部分,最终实现在线上进行小型酒店管理系统各项功能,实现了诸如用户管理,登录注册,权限管理等功能,并实现对各类小型酒店管理系统相关的实体进行管理。该小型酒店管理系统为一个采用mvc设计模式进行开发B/S架构项…

    2022年9月24日
    1
  • java swing 多层_java swing布局嵌套[通俗易懂]

    java swing 多层_java swing布局嵌套[通俗易懂]小菜一枚,刚接触Java,想写个注册界面,但却遇到一个奇怪问题:代码如下:publicvoidframe(){this.frame=newJFrame(“用户注册”);//窗体基本属性this.frame.setSize(600,400);this.frame.setLocationRelativeTo(null);this.frame.setVisible(true);this.fr…

    2025年6月14日
    2
  • python制作自动交易程序_Python如何实现自动化交易

    python制作自动交易程序_Python如何实现自动化交易Python的火热,刺激了市场的需求,在国内某知名互联网招聘网站上,Python开发工程师的年薪普遍在25万-50万之间,岗位数量多达数万。如果你只能选读一门编程语言,那么除了Python,还是Python。要赶上这趟快车不容易,尤其是对于非专业出身的小白来说,面对一堆代码就已经万脸懵逼了,还怎么可能成为Python大牛?今天小蛙就带你抄捷径,从小白到大牛,看看如何在三个月内学会P…

    2022年10月8日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号