阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu开启SSH服务图文详解

177次阅读
没有评论

共计 4822 个字符,预计需要花费 13 分钟才能阅读完成。

第一次使用 SSH 服务,因为没有及时记录开启 SSH 服务的过程,在后来因为系统被我玩崩了,快照之前的系统,导致 SSH 无法开启,也忘记了如何开启 SSH 服务,现在将开启过程记录如下,以便查看。

使用的的 Ubuntu16.0.4LTS 系统。

 

在开启服务之前,其实可以不用考虑本机有没有安装 SSH 服务,直接安装,但是为了更好的了解过程,一步一步的去开启更好。

1、先试着开启 SSH 服务

在使用 SSH 之前,可以先检查 SSH 服务有没有开启。使用命令:sudo ps -e | grep ssh 来查看,如果返回的结果是“xxxx? 00:00:00 sshd”, 代表服务开启。那个四个 x 代表四位数字,每台机数字不一样的,如图:Ubuntu 开启 SSH 服务图文详解

如果没有反应或者其他结果,再试着开启 SSH 服务。使用命令 sudo /etc/init.d/ssh start 来开启服务,如图:

Ubuntu 开启 SSH 服务图文详解

如果是图中结果,说明没有安装 SSH 服务,此时需要安装 SSH 服务,为了能提高安装成功率,建议先更新源:sudo apt-get update 更新安装源,如图:

Ubuntu 开启 SSH 服务图文详解

然后安装 SSH 服务,使用命令:sudo apt-get  install openssh-server。如图:

Ubuntu 开启 SSH 服务图文详解

等待安装结束即可。然后再次查看服务有没有启动:sudo ps -e | grep ssh:

 Ubuntu 开启 SSH 服务图文详解有 sshd 那个东西,说明服务启动了,如果需要再次确认或者没有图中的结果,使用命令来启动:sudo /etc/init.d/ssh start:

Ubuntu 开启 SSH 服务图文详解

看到服务 starting 了,服务成功开启。另外,还有几条命令需要记住:

sudo service ssh status 查看服务状态:

Ubuntu 开启 SSH 服务图文详解

sudo service ssh stop  关闭服务:

sudo service ssh restart  重启服务

 以上是关于如何安装并启动服务的过程。


下面介绍使用 ssh 客户端远程登录 linux 系统。本人使用的是 win7,登录虚拟机的 ubuntu linux。

在查看 ip 之前,有个地方需要注意一下,当虚拟机设置的 linux 网络连接方式是仅主机模式时,对应宿主机的虚拟网卡 1:WMware Network Adapter VMnet1,

当虚拟机设置的是 NAT 模式时,对应宿主机的虚拟网卡 8:WMware Network Adapter VMnet8,使用桥接模式时,是和宿主机同一个网卡。如图:

Ubuntu 开启 SSH 服务图文详解

知道了这些,当查看 linux 的 ip 后,把对应的宿主机虚拟网卡 ip 设置同一网段即可:

Ubuntu 开启 SSH 服务图文详解

然后 ping 测试网络是否畅通:

Ubuntu 开启 SSH 服务图文详解

测试通过,然后使用 SSH 客户端登远程登录 linux。前提是已经下载好了 ssh 客户端,我用的是 putty:

Ubuntu 开启 SSH 服务图文详解

个人感觉这款工具体验并不太好,但为什么我在使用,并且在使用之前还被它给教做人,费了老大劲,原因是我就是跟它杠上了,我就不信搞不了它,于是最终我教它怎样做一个乖乖的做一个远程工具。

运行它:在 Host Name(or address)栏输入远程登录的主机的 ip,端口号默认 22,一般还是查一下,之前介绍的查看 SSH 服务时说了可以查看服务状态,里面有端口号:

Ubuntu 开启 SSH 服务图文详解

接着 Connection type 为 SSH,下面的 Saved Sesssions 填写远程登录主机主机名就好,还有一个字体编码,在左侧栏 window 里的 Translation 中 Receives date……,下拉选择 utf-8。如图:

Ubuntu 开启 SSH 服务图文详解

 

 Ubuntu 开启 SSH 服务图文详解

设置好登录。

第一次登录可能会有如下提示:点击是。

 Ubuntu 开启 SSH 服务图文详解

确定以后可能还是会连接失败,或者无反应,此时关闭重新登录,如果不行,多试几遍。

正常情况如果登录成功,接下来会输入远程登录主机的用户名和密码,linux 的一个账户可以多台主机登录。

Ubuntu 开启 SSH 服务图文详解

如上图,已经登录成功了。此时就可以使用远程登录工具操作 linux 了。

不过看到图中还是有乱码,用鼠标在上图界面的外边框栏,就是非命令界面鼠标右键,找到 Change

Settings,按照之前设置字体的方式再设置一遍就可以解决。如图:

 Ubuntu 开启 SSH 服务图文详解

关于 SSH 的配置文件补充

# Site-wide defaults for various options
Host *
ForwardAgent no
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
CheckHostIP yes
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
Port 22
Cipher blowfish
EscapeChar ~

 下面逐行说明上面的选项设置:

Host *
选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。
ForwardAgent no
“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。
ForwardX11 no
“ForwardX11”设置 X11 连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。
RhostsAuthentication no
“RhostsAuthentication”设置是否使用基于 rhosts 的安全验证。
RhostsRSAAuthentication no
“RhostsRSAAuthentication”设置是否使用用 RSA 算法的基于 rhosts 的安全验证。
RSAAuthentication yes
“RSAAuthentication”设置是否使用 RSA 算法进行安全验证。
PasswordAuthentication yes
“PasswordAuthentication”设置是否使用口令验证。
FallBackToRsh no
“FallBackToRsh”设置如果用 ssh 连接出现错误是否自动使用 rsh。
UseRsh no
“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。
BatchMode no
“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本
文件和批处理任务十分有用。
CheckHostIP yes
“CheckHostIP”设置 ssh 是否查看连接到服务器的主机的 IP 地址以防止 DNS 欺骗。建议设置为“yes”。
StrictHostKeyChecking no
“StrictHostKeyChecking”如果设置成“yes”,ssh 就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密
匙发生了变化,就拒绝连接。
IdentityFile ~/.ssh/identity
“IdentityFile”设置从哪个文件读取用户的 RSA 安全验证标识。
Port 22
“Port”设置连接到远程主机的端口。
Cipher blowfish
“Cipher”设置加密用的密码。
EscapeChar ~
“EscapeChar”设置 escape 字符。
配置“/etc/ssh/sshd_config”文件
“/etc/ssh/sshd_config”是 OpenSSH 的配置文件,允许设置选项改变这个 daemon 的运行。这个文件的每一行包含“关键词-值”的匹配,其中
“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用 man 命令查看帮助页(sshd (8))可以得到详细的列表。

下面是选项的可以配置项

# This is ssh server systemwide configuration file.
Port 22
ListenAddress 192.168.1.1
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 1024
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts yes
IgnoreUserKnownHosts yes
StrictModes yes
X11Forwarding no
PrintMotd yes
SyslogFacility AUTH
LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
AllowUsers admin

 

 

 

下面逐行说明上面的选项设置:

Port 22
“Port”设置 sshd 监听的端口号。

ListenAddress 192.168.1.1
“ListenAddress”设置 sshd 服务器绑定的 IP 地址。

HostKey /etc/ssh/ssh_host_key

“HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024
“ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600
“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600
“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被

截获的信息。

PermitRootLogin no
“PermitRootLogin”设置 root 能不能用 ssh 登录。这个选项一定不要设成“yes”。

IgnoreRhosts yes
“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes
“IgnoreUserKnownHosts”设置 ssh daemon 是否在进行 RhostsRSAAuthentication 安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”

StrictModes yes
“StrictModes”设置 ssh 在接收登录请求之前是否检查用户家目录和 rhosts 文件的权限和所有权。这通常是必要的,因为新手经常会把自己的

目录和文件设成任何人都有写权限。

X11Forwarding no
“X11Forwarding”设置是否允许 X11 转发。

PrintMotd yes
“PrintMotd”设置 sshd 是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH
“SyslogFacility”设置在记录来自 sshd 的消息的时候,是否给出“facility code”。

LogLevel INFO
“LogLevel”设置记录 sshd 日志消息的层次。INFO 是一个好的选择。查看 sshd 的 man 帮助页,已获取更多的信息。

RhostsAuthentication no
“RhostsAuthentication”设置只用 rhosts 或“/etc/hosts.equiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no
“RhostsRSA”设置是否允许用 rhosts 或“/etc/hosts.equiv”加上 RSA 进行安全验证。

RSAAuthentication yes
“RSAAuthentication”设置是否允许只有 RSA 安全验证。

PasswordAuthentication yes
“PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no
“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin
“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或 user@host 这样的匹配串,这些字符串用空格隔开。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4822字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中