您的位置:首页 > 运维架构 > Linux

[Linux][入门系列]CentOS 的基础使用-SSH安装设置与使用大全(上)

2017-04-05 14:55 706 查看

SSH设置与使用大全

在前几期,我们基本了解了CentOS的基础使用,可是当我们使用的时候,我们通常都是在虚拟机的窗口里敲打字符,在shell界面下,我们没有办法使用系统的复制粘贴命令,其他的操作也很不方便,有没有好点的办法解决呢?

有,当然有,我们使用的方法之一,就是SSH登录。

本文将尽可能的把所有SSH相关叙述完全并清楚,一篇了解SSH所有问题。

什么是SSH?

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议——以上摘(chao)自百度百科。

说人话,意思就是,我们不用连系统界面那么麻烦啦,我们可以在自己的系统上安装个SSH软件,用这个玩意远程连接到服务器上。虽然你看到的依旧是黑白界面,但是这个软件支持复制啊,粘贴什么的,而且我们可以本地一台电脑连接好多台Linux,你的小伙伴也可以用SSH连接到你的虚拟机上(需要网络及设备支持)。

它很安全,所有的传输都是经过加密的。你在一次连接时的授权过程也是加密的哦。

顺带说一句,现在云计算公司所提供的云主机服务,本质上就是开一台虚拟机给你,然后让你用SSH登录进去进行相关操作。当然如何批量管理虚拟机,如何管理网络以及如何在物理机上更好的虚拟化,这依旧是云计算行业的挑战。

Linux端-如何开启SSH服务器

所以经过以上介绍,我们可以了解到,其实SSH是应用层协议,你的电脑(客户端)需要连接Linux(服务端)。作为一个典型的客户端-服务端(C-S)协议,我们需要设置的就是服务端软件和客户端软件。

在服务端上,这里我们主要使用Linux进行设置,SSH在TCP协议之上,所以也需要使用端口。Linux中,默认端口号是22。

以下设置以Cent为例,其中列出Ubuntu的相关命令。

首先,我们需要使用包管理器yum(Ubuntu使用apt或者apt-get)直接安装ssh。

(for cent)
[root@localhost]#yum install ssh
(for ubuntu)
[root@localhost]#apt-get install openssh-server


(Cent 7系统默认安装有ssh,可以直接跳过以上步骤)

安装好之后,ssh就默认启动了,但是,我们还需要查看下,使用系统命令ps进行查看。

[root@localhost]#ps -ef | grep ssh


如果没有启动的话,我们可以使用系统service命令启动它(Cent)。

[root@localhost]#service sshd start


ssh开机不是自启动的,如果想设置自启动,需要使用命令(Cent)

[root@localhost]#chkconfig sshd on


请注意,以上命令我都是使用root用户设置的,如果你使用的用户不是root用户,请使用
sudo -i
进入root用户或者在命令前加上sudo使用命令。

TIPS-Ubuntu用户相关设置

由于系统的不同,Ubuntu用户需要使用目录里的二进制文件完成ssh的启动与停止

启动ssh:

sudo/etc/init.d/ssh start


至此,简单的ssh服务器就设置好了,实际上我们可以使用简单命令在linux上自己登陆自己的ssh server。

[root@localhost]#ssh 用户名@localhost


Mac端及Linux端-如何使用ssh连接服务器

Mac及Linux都属于类Unix系统,而且大部分系统默认就有ssh客户端,我们进行连接就好。基本的ssh命令如下:

troy@Troy-PC# ssh root@192.168.56.101


root这里是用户名,后面的ip地址是你要登录的机器的ip地址,当然可以使用localhost代表本机,也可以使用域名(domain)去登录。

在使用密码登陆的机器中,输入以上命令需要你输入密码,但是如果是的ssh设置了使用公钥和秘钥登录,就需要你把秘钥放到你用户目录的“.ssh”文件中,或者你需要使用-i参数指定秘钥。

troy@Troy-PC# ssh -i private_key root@192.168.56.101


Windows端-使用SSH连接服务器

由于Windows并不默认安装有ssh协议的软件,所以我们需要安装第三方软件进行ssh连接,这里推荐使用PuTTy以及Xshell这两款软件。

具体的连接方式就是需用用户输入用户名,密码,ip及端口等信息就可以连接,Xshell可以使用中文版的,清晰易懂,PuTTY界面直观。由于笔者手头没有Windows机器,无法进行截图展示。如果大家有相关问题,可以留言,笔者帮你解决。

SSH服务器配置文件设置

在cent中默认ssh配置文件在/etc/ssh/sshd_config,请注意,不是ssh_config。

在这个配置文件中,我们可以看到,带有#号的是注释掉没有运行的。我们可以设置很多,诸如端口,协议类型等等等。在其中一行我们可以看到:

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes


这里是用来设置是否允许密码登录以及是否允许空密码登录。我们知道如果我们使用密码登录,在公网中传输密码等信息是很不安全的,所以ssh其实还是建议我们使用公私秘钥的方式登录服务器。在这里我们可以把密码登录禁用掉(切记一定要确认公私秘钥方式可用再禁用)。

下一篇我们将讲述如何设置SSH公私秘钥,用来实现更安全的SSH登录以及SSH免密登录(用于Hadoop等软件的设置)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos shell linux ssh