SSH远程登录

目录

一.ssh简述

1.1.常见的ssh协议使用的工具

1.2.sshd服务

1.3.ssh原理

二.ssh登录设置

三.ssh服务端配置及ssh优化

3.1服务端配置

3.2.ssh优化

 四.使用密钥对免密登录

4.1.免密登录

五.ssh客户端 

5.1.scp命令

5.2.sftp命令


一.ssh简述

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

优点:

    数据传输是加密的,可以防止信息泄漏

    数据传输是压缩的,可以提高传输速度

1.1.常见的ssh协议使用的工具

客户端:

    Linux Client: ssh, scp, sftp,slogin
    Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient

其中xshell与MobaXterm经常被使用,而区别在于xshell是非开源的,MobaXterm是开源的,且功能较多。

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

所以在CentOS 7中默认安装了openssh相关的软件包,且将sshd服务设置为开机自启。

openssh是ssh软件的软件包名,安装的时候使用openssh

[root@xzq ~]# yum install -y  openssh

sshd是ssh软件的服务名,在启用ssh软件前需要先启动sshd服务

ssh是软件名,远程连接使用的
例如:ssh  192.168.47.3

1.2.sshd服务

sshd服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)

作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。 相比较之前用 Telnet 方式来传输文件要安全很多,因为 Telnet 使用明文传输,SSH 是加密传输。

服务名称:sshd


服务端主程序:/usr/sbin/sshd  


服务端配置文件:/etc/ssh/sshd_config

# 为服务器端配置文件,设置与服务端相关的应用可通过此文件实现


客户端配置文件:/etc/ssh/ssh_config             

#为客户端配置文件,设置与客户端相关的应用可通过此文件实现

1.3.ssh原理

(1)客户端发起连接请求

(2)服务端向客户端发送自己的公钥和一个会话ID

(3)客户端得到服务端的信息后,通过算法生成密钥,结合自己的公钥生成密钥对,然后将密钥对发送给服务端

(4) 服务端收到后,使用自己的私钥进行解密,拆分出客户端的公钥

(5)最后,客户端拥有自己的公钥和私钥以及服务端的公钥,服务端拥有自己的公钥和私钥以及客户端的公钥

二.ssh登录设置

登录:命令格式:ssh        [选项]        [用户名@]IP地址       [-p]        端口号

选项:

-l        指定登录名称;                        -t        跳板登录,即通过另一台主机连接第三台主机

例子:什么选项都不加:

[root@xzq ~]# ssh 192.168.47.100

例2:指定登录名称

[root@xzq ~]# ssh -l llb 192.168.47.100        # 方式一
[root@xzq ~]# ssh llb@192.168.47.100        # 方式二

例3:通过跳板连接第三台主机

root@xzq ~]# ssh -t 192.168.3.101 ssh 192.168.3.102

 例4:修改端口号,使用其他端口登录

# 修改端口号

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

# 第17行   Port   22   

# 将22改为9527
 

[root@xzq ~]#ssh 192.168.47.100 -p 9527

不登陆,查看对方主机的信息

格式:ssh    目标主机IP   命令

例如:查看对方的网卡信息

[root@xzq ~]#ssh 192.168.3.101 ifconfig

三.ssh服务端配置及ssh优化

3.1服务端配置

配置文件/etc/ssh/sshd_config

常用配置项:

白名单与黑名单设置

白名单

AllowUsers    用户名,用户名,用户名.....

例如:仅允许llb用户登录

AllowUsers   llb

 黑名单

DenyUsers     用户名,用户名.....

例如:不允许laowang用户登录

DenyUsers   laowang

3.2.ssh优化

    建议使用非默认端口 22

    禁止使用protocol version 1

    限制可登录用户 白名单

    设定空闲会话超时时长

    利用防火墙设置ssh访问策略

    仅监听特定的IP地址 公网 内网

    基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

    使用基于密钥的认证

    禁止使用空密码

    禁止root用户直接登录

    限制ssh的访问频度和并发在线数

    经常分析日志 分离

 四.使用密钥对免密登录

原理

    首先在客户端生成一对密钥(ssh-keygen)

    并将客户端的公钥ssh-copy-id 拷贝到服务端

    当客户端再次发送一个连接请求,包括ip、用户名

    服务端得到客户端的请求后,会到authorized_keys()中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:kgc

    服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

    得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

    服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

4.1.免密登录

①生成密钥文件

[root@xzq ~]# ssh-keygen -t ecdsa

②将密钥文件传到对面

[root@xzq ~]# cd .ssh/

[root@xzq .ssh]# ssh-copy-id -i id_ecdsa.pub 192.168.47.100

五.ssh客户端 

5.1.scp命令

远程安全复制

格式:

scp      本机文件路径     对方主机的IP地址:文件路径  

 # 将本机文件拷贝到对方主机中


scp        对方主机的IP地址:文件路径        本机文件路径

# 将对方主机中的文件拷贝到本机中

 

5.2.sftp命令

安全FTP上传和下载

 格式:sftp user@ip         #登录到服务器

sftp> get etc/passwd /opt/        # 下载文件到本地文件夹内

sftp> put etc/passwd /opt/         # 上传载文件到服务器文件夹内

下载文件、退出sftp
get         #下载文件
get -r      #下载目录
quit        #退出sftp
put         #上传文件
put -r      #上传文件夹
退出命令:quit、exit、bye都可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值