前言:SSH协议、openssh server、openssh clientSSH(安全外壳协议)SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 openssh server 与 openssh client
在以 Linux 内核发行版操作系统上,要实现远程连接,需要安装 openssh-server 软件包,并作为服务在后台一直运行,而 openssh-server 软件包依赖于 openssh-clients. 在 centos 系统安装 openssh-server 步骤 yum install -y openssh yum install openssh-clients yum install -y openssh-server # centos 7 启动 openssh-server systemctl start sshd.services # centos 6 启动 openssh-server # /etc/init.d/sshd start 在 ubuntu 中安装 openssh-server 步骤 (ubuntu 默认安装openssh-clients) sudo apt update sudo apt install openssh-server # 启动 openssh-server sudo /etc/init.d/ssh start # 或 # sudo systemctl start ssh.service # 或 # sudo service ssh start Ubuntu SSH Server 安装、配置1、检查是否安装 openssh-server可通过以下3个命令中任何一个来检查是否已经安装 openssh-server: dpkg -s openssh-server apt search openssh-server sudo /etc/init.d/ssh start 如果出现: 说明:openssh-server 未安装,需要安装。 如果出现: 或 或 说明:openssh-server 已安装(安装步骤可跳过)。 ssh -V 不能用来验证 openssh-server 是否安装由于 Ubuntu 20.04 (>=16.04) 默认安装了 ssh client,但是默认未安装 openssh-server。 当执行 2、安装 openssh-serversudo apt update sudo apt install openssh-server 3、启动 openssh-server,接着输入命令sudo /etc/init.d/ssh start # 或 sudo systemctl start ssh.service ssh server 启动/停止/重启sudo /etc/init.d/ssh start # 启动 sudo /etc/init.d/ssh stop # 停止 sudo /etc/init.d/ssh restart # 重启 或 sudo systemctl start ssh.service # 启动 sudo systemctl stop ssh.service # 停止 sudo systemctl restart ssh.service # 重启 或 sudo service ssh start # 启动 sudo service ssh stop # 停止 sudo service ssh restart # 重启 4. 查看 openssh-server 是否已启动查看ssh是否启动,如果启动服务中有 sudo ps -e | grep ssh 5.ssh localhost 测试本地 openssh 服务器的运行及配置终端输入 ssh localhost ssh localhost 运行常见的错误1. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” 即:警告:远程主机标识已更改。 原因: 此报错是由于远程的主机的公钥发生了变化导致的。 ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。 解决办法: 删除对应ip的在known_hosts相关信息。 如果不能确定ip,直接将 known_hosts 中所有内容全部内容删除,保存即可。 清空known_hosts后首次执行 再次执行 2. ssh: connect to host localhost port 22: Connection refusedssh: connect to host localhost port 22: Connection refused。(不能够连接到本地主机端口22, 连接被拒绝) 这种情况(在可以正常上网的前提下)的原因可能是 openssh-server 未启动或未安装。 此时执行: 使用 SSH 客户端工具远程连接终端运行运行以下命令,查看 IP 地址: # 采用 NAT 桥接网络模式,在使用 ifconfig 查看ip前,需要执行以下命令, # 用 dhcp 服务获取 ip 地址 sudo dhclient -v # 查看 ip 地址 ifconfig SSH 客户端 可以使用 VMWare 自带工具 或 Xshell. 将 上面得到的 ip 地址在 SSH 客户端 配置即可。 openssh-server 的彻底卸载# 卸载并删除配置文件 sudo apt-get purge openssh-server 参考 |
|