程序员必须了解的linux之ssh命令详解

2021-02-07    分类: 网站建设

简单来说,在linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器。那么ssh协议的优点就是数据传输是加密的,可以防止信息泄露,而且数据传输是压缩的,可以提高传输速度。

它的命令格式是 ssh [-p port] user@remote

user 是在远程机器上的用户名,如果不指定的话默认为当前用户

remote 是远程机器的地址,可以是IP/域名,或者是别名

port 是SSH Server监听的端口,如果不指定,就为默认值22

(使用exit退出当前用户的登录)

有关SSH配置信息都保存在用户家目录下的.ssh目录下


接下来,我们就来实际演示一下ssh命令的使用

首先我们需要两台linux系统的电脑来进行演示,所以我用虚拟机安装了两个linux的系统,分别命名为Deepin1和Deepin2(不得不说deepin真的是即好看又好用)


deepin1


deepin2

不过deepin操作系统默认ssh是没有开启的,我们需要手动将它开启。

第一步,在终端输入sudo apt-get install ssh安装ssh服务


安装ssh

第二步,在终端中输入sudo service ssh start开启ssh服务


开启ssh

注意:deepin1和deepin2都要执行上面两步来安装和开启ssh服务

安装并打开ssh之后,我们使用Deepin1来远程连接Deepin2,那么我们需要知道Deepin2的ip地址,在终端中输入ifconfig就可以知道当前机器的ip地址了,或者也可以直接把鼠标放到网络连接上,会直接显示出来。我这里Deepin2的IP地址为:192.168.56.132


deepin2的IP地址

然后,我们在Deepin1的终端中输入ssh -p 22 deepin2@192.168.56.132然后回车

这里-p 22可以省略,22表示ssh的端口号为22,deepin2为Deepin2的用户名,192.168.56.132为Deepin2的ip地址。


选择yes

第一次连接,会弹出来是否连接的确认信息,我们输入yes确认,然后输入deepin2的密码并回车。出现如下界面就表示连接成功了。


连接成功

连接成功后,我们尝试输入cd Desktop/切换到桌面目录,然后输入touch 123.txt在桌面下创建123.txt文件


创建123.txt

我们再切换到Deepin2系统中,发现桌面上的确出现了一个新的文件123.txt,大功告成!


Deepin2下出现123.txt


到这里ssh的基本操作其实已经演示完了,但是我们发现每次远程登陆的时候都需要重新输入密码,稍微有点麻烦,其实我们可以通过设置,进行免密码登录。

免密登录:

第一步,配置公钥。在Deepin1终端中执行ssh-keygen即可生成SSH钥匙,一路回车即可。


配置公钥

第二步,上传公钥到服务器。在Deepin1终端中执行ssh-copy-id -p port user@remotr(ssh-copy-id -p 22 deepin2@192.168.56.132)可以让远程服务器记住我们。


上传公钥

第三步,设置完成了,试一下是否能免密登录呢?


可以看到,当我们远程登陆deepin2时,并没有输入用户密码就登陆成功了!其实挺简单的不是吗?

本文标题:程序员必须了解的linux之ssh命令详解
地址分享:https://www.cdcxhl.com/news23/99673.html

成都网站建设公司_创新互联,为您提供网站排名网站策划标签优化品牌网站制作网站制作用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设