linux ssh远程连接控制 linux(centOS) 口令、密钥连接

sshd服务提供两种安全验证的方法:

 

基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。

基于密钥的安全验证:需要在本地生成”密钥对“后将公钥传送至服务端,进行公共密钥的比较(相对安全)。

首先:无论通过哪一种安全验证方法进行远程控制都需要配置远程主机sshd服务的文件:

[root@lhbza ~]#vim /etc/ssh/sshd_config

并且在远程主机上启动sshd服务并加入到开机启动项:

[root@lhbza ~]# systemctl start sshd

[root@hbza ~]# systemctl enable sshd

sshd服务的配置文件解析:

参数

作用

#Port 22

默认的sshd服务端口。

#ListenAddress 0.0.0.0

设定sshd服务端监听的IP地址。

#Protocol 2

SSH协议的版本号。

#HostKey /etc/ssh/ssh_host_key

SSH协议版本为1时,私钥存放的位置。

HostKey /etc/ssh/ssh_host_rsa_key

SSH协议版本为2时,RSA私钥存放的位置。

#HostKey /etc/ssh/ssh_host_dsa_key

SSH协议版本为2时,DSA私钥存放的位置。

#PermitRootLogin yes

设定是否允许root用户直接登录。

#StrictModes yes

当远程用户私钥改变时则直接拒绝连接。

#MaxAuthTries 6

最大密码尝试次数

#MaxSessions 10

最大终端数

#PasswordAuthentication yes

是否允许密码验证

#PermitEmptyPasswords no

是否允许空密码登陆(很不安全)

 

 

一、口令验证:

ssh命令用于远程管理Linux主机,格式为:“ssh [参数] 主机”。

参数

作用

-p

指定连接端口(默认为22)

-v

显示连接过程的详细信息

指定用户登录 :

 ssh 用户@主机

[root@yyd~]# ssh [email protected]

root登录:

[root@yyd ~]# ssh 192.168.38.100

二、密钥验证:

使用密码验证终归会存在着被骇客暴力破解嗅探监听的危险,其实也可以让ssh服务基于密钥进行安全验证可无需密码验证)。

第1步:在本地主机中生成“密钥对”并将公钥传送到远程主机中:

[root@yyd ~]# ssh-keygen

将生成好的公钥密钥传送至远程主机:

[root@yyd ~]# ssh-copy-id 192.168.38.100

第2步:首先要在远程主机中修改sshd服务的配置文件(修改后记得重启服务):

1、编辑ssh服务程序主配置文件。

 

2、将允许密码验证的参数设置为no。

   进如vi编辑器 ’:/PasswordAuthentication'  回车,搜索文件内容:

 

搜索结果:

 

PasswordAuthentication no    运行设置为no

#PasswordAuthentication yes  注释设置yes

 

 第3步:将允许密钥验证的参数设置为yes。

vim  esc 切换命令模式 同上步骤运行 PubkeyAuthentication yes

第4步:保证设定是否允许root用户直接登录    运行PermitRootLogin yes

第4步:保存并退出配置文件。

第5步:重启ssh服务程序后即可生效。

第3步:最后来尝试无需密码的远程登录吧:

[root@yyd ~]# ssh 192.168.10.20

猜你喜欢

转载自www.cnblogs.com/yyd-sun/p/11774234.html