第一次使用SSH服务,因为没有及时记录开启SSH服务的过程,在后来因为系统被我玩崩了,快照之前的系统,导致SSH无法开启,也忘记了如何开启SSH服务,现在将开启过程记录如下,以便查看。
使用的的Ubuntu16.0.4LTS系统。
ASP站长网在开启服务之前,其实可以不用考虑本机有没有安装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))可以得到详细的列表。