Linux

SSH详解-2.ssh基本用法

2021-06-22  本文已影响0人  小杨同学97

SSH详解-1.ssh基础知识
SSH详解-2.ssh基本用法
SSH详解-3.密钥登陆
SSH详解-4.多个ssh公钥

一、简介

OpenSSH 的客户端是二进制程序 ssh,Linux 系统一般都自带 ssh。新版的win10开启ssh服务,但不是很好用,可以使用一些好用的软件XshellPutty

安装OpenSSH 以后,可以使用-V参数输出版本号,查看一下是否安装成功。
ubuntu

$ ssh -V
OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f  31 Mar 2020

windows

C:\Users\23696>ssh -V
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

二、基本用法

ssh最常用的用途就是登录服务器,当然这需要服务器再运行着sshd。
ssh 登录服务器的命令如下,例如连接局域网内一台ip地址为192.168.1.98的主机

$ ssh root@192.168.1.98
The authenticity of host '192.168.1.98 (192.168.1.98)' can't be established.
ECDSA key fingerprint is SHA256:0/hvoyNvyMaXfY2Umj3jSFCmRL4L4uigdM6shuVqWos.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

上面命令中,root是用户名,@后面的是主机名,它可以是域名,也可以是 IP 地址或局域网内部的主机名。

用户名也可以使用ssh的-l参数指定,这样的话,用户名和主机名就不用写在一起了。

$ ssh -l username host

ssh 默认连接服务器的22端口,-p参数可以指定其他端口。

$ ssh -p 8888 192.168.1.98

上面命令连接服务器192.168.1.98的8888端口,这里没有指定用户名。将使用客户端的当前用户名,作为远程服务器的登录用户名。

三、连接流程

刚刚应该注意到这段话了,这段话是什么意思呢?

The authenticity of host '192.168.1.98 (192.168.1.98)' can't be established.
ECDSA key fingerprint is SHA256:0/hvoyNvyMaXfY2Umj3jSFCmRL4L4uigdM6shuVqWos.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

上面这段话的意思是192.168.1.98这个服务器的指纹是陌生的,是否要继续连接(输入yes or no)。

服务器指纹,指的是 SSH 服务器公钥的哈希值。每台 SSH 服务器都有唯一一对密钥,用于跟客户端通信,其中公钥的哈希值就可以用来识别服务器。

接下来,输入yes后ssh会将当前服务器的指纹存储在本机~/.ssh/known_hosts文件中。以后再连接的时候,就不会再出现警告了。
也就是说,ssh通过判断当前服务器公钥的指纹是否存在于~/.ssh/known_hosts文件中,来判断是否为陌生主机

然后,客户端就会跟服务器建立连接。
接着,ssh 要求用户输入所要登录账户的密码,用户输入密码验证成功后就可以使用远程shell了。

参考资料

ssh(1) - OpenBSD manual pages

上一篇 下一篇

猜你喜欢

热点阅读