赞
踩
第一次使用SSH服务,因为没有及时记录开启SSH服务的过程,在后来因为系统被我玩崩了,快照之前的系统,导致SSH无法开启,也忘记了如何开启SSH服务,现在将开启过程记录如下,以便查看。
使用的的ubuntu16.0.4LTS系统。
在开启服务之前,其实可以不用考虑本机有没有安装SSH服务,直接安装,但是为了更好的了解过程,一步一步的去开启更好。
1、先试着开启SSH服务
在使用SSH之前,可以先检查SSH服务有没有开启。使用命令:sudo ps -e | grep ssh来查看,如果返回的结果是“xxxx? 00:00:00 sshd”,代表服务开启。那个四个x代表四位数字,每台机数字不一样的,如图:
如果没有反应或者其他结果,再试着开启SSH服务。使用命令sudo /etc/init.d/ssh start来开启服务,如图:
如果是图中结果,说明没有安装SSH服务,此时需要安装 SSH服务,为了能提高安装成功率,建议先更新源:sudo apt-get update更新安装源,如图:
然后安装SSH服务,使用命令:sudo apt-get install openssh-server。如图:
等待安装结束即可。然后再次查看服务有没有启动:sudo ps -e | grep ssh:
有sshd那个东西,说明服务启动了,如果需要再次确认或者没有图中的结果,使用命令来启动:sudo /etc/init.d/ssh start:
看到服务starting了,服务成功开启。另外,还有几条命令需要记住:
sudo service ssh status 查看服务状态:
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,使用桥接模式时,是和宿主机同一个网卡。如图:
知道了这些,当查看linux的ip后,把对应的宿主机虚拟网卡ip设置同一网段即可:
然后ping测试网络是否畅通:
测试通过,然后使用SSH客户端登远程登录linux。前提是已经下载好了ssh客户端,我用的是putty:
个人感觉这款工具体验并不太好,但为什么我在使用,并且在使用之前还被它给教做人,费了老大劲,原因是我就是跟它杠上了,我就不信搞不了它,于是最终我教它怎样做一个乖乖的做一个远程工具。
运行它:在 Host Name(or address)栏输入远程登录的主机的ip,端口号默认22,一般还是查一下,之前介绍的查看SSH服务时说了可以查看服务状态,里面有端口号:
接着Connection type为SSH,下面的Saved Sesssions填写远程登录主机主机名就好,还有一个字体编码,在左侧栏window里的Translation中Receives date……,下拉选择utf-8。如图:
设置好登录。
第一次登录可能会有如下提示:点击是。
确定以后可能还是会连接失败,或者无反应,此时关闭重新登录,如果不行,多试几遍。
正常情况如果登录成功,接下来会输入远程登录主机的用户名和密码,linux的一个账户可以多台主机登录。
如上图,已经登录成功了。此时就可以使用远程登录工具操作linux了。
不过看到图中还是有乱码,用鼠标在上图界面的外边框栏,就是非命令界面鼠标右键,找到Change
Settings,按照之前设置字体的方式再设置一遍就可以解决。如图:
关于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这样的匹配串,这些字符串用空格隔开。主机名可以是
唯一可以不劳而获的是贫穷,而唯一可以无中生有的是梦想。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。