对于经常要连接服务器进行交互的人来说,有很多种方式,最多的就是使用一些比较成熟的应用,如xshell,finalshell,xftp
等.在上一篇文章中我们搭建了一个新的终端,这次来使用终端来进行服务器的交互,包括访问以及文件的上传和下载.
我们通常连接到服务器使用的是ssh
协议,无论使用的是什么软件,其实底层的协议以及命令是一样的.通常在我们连接服务器时需要做哪些事呢?
openSSL
,openSSL的详细说明,有了这个东西我们就可以使用ssh
协议进行通信了
ssh
通信过程中,使用到了非对称加密的算法,我们先不研究算法,直接应用,我们需要在我们的通信双方生成自己的公钥和私钥进行加密传输
windows
生成: 可以在我们的终端中,输入 ssh-keygen
连续回车,即可在我们的用户目录下创建一个.ssh
文件夹,文件夹中一般会有三个文件,一个是私钥,一个带pub
的就是我们的公钥,还有一个knowhost
是我们每次连接一个新的服务器时生成的一个标识,也就是连接时询问我们的yes or no
linux
生成: ssh-keygen
在 ~/.ssh/
文件夹下会生成同样的文件,归根揭底是因为文件系统的划分不同,逻辑上大同小异前面我们说了可以使用很多的成熟的软件进行连接,但是今天我们使用最基本的也是最底层的当然也是最方便快捷的方式,并且基于我们上次搭建的命令行的环境,
cmder
ssh name@server_ip
,name
为服务器的用户名,后面是服务器的地址,回车之后会让你输入服务器的密码,输入密码就可以进行和服务器进行交互了
.ssh
文件夹在,新增文件 authorized_keys
将我们复制的公钥复制进去,但是要以行的形式,如果多条公钥记得要换行,可以使用刚刚学习的cmder
里进行操作
1 2 3 4 cd ~/.ssh vim authorized_keys //在linux下的 vim 中粘贴会从默认的寄存器中读取而不是系统的,所以为了方便我们可以在 本地新建好一个文件,然后上传到服务器的对应目录里是一样的. 然后我们就可以使用命令 ssh name@ip 直接进行登录了
5. 接下来我们就可以使用cmder
进行连接服务器了,但是有些时候并不会保持长连接,这个应该会有办法,可以查阅一下资料.