ssh(secure shell)协议:
是一种安全通道协议
对通讯数据进行加密处理,用于远程管理
openssh
服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config
###SSH远程管理服务
SSH是一种安全通道协议,主要用于实验字符界面的远程登录,远程复制等功能。
SSH协议对通讯双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性能
SSH客户端 <_____________网络>SSH服务器端
数据传输是加密的,可以防止信息泄露
数据传输是压缩的,可以提高传输速度
SSH客户端:putty、xshell、CRT
SSH服务端:openssh
openssh是实现ssh协议的开源软件项目,是用于各种uinux、liunx
centos7默认已经安装了openssh,并且开启自行启动
**sshd服务使用的默认端口号是22 **
ssh服务的默认配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,二者的区别在于前者是针对客户端的配置文件。后者则是针对服务端的配置文件
ssh服务支持两种验证方式
1、密码验证
对服务中本地系统的用户名称、密码进行验证。简便,但可能会被暴力破解
2、秘钥对验证
要求提供相匹配的秘钥信息才能通过验证,通常现在客户端中创建一对秘钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置,远程登录时,系统将会使用公钥、私钥进行加密、解密关联验证。能增强安全性、且可以免交互登录。
3、当密码验证、秘钥对验证都启用时,服务器将优先使用秘钥对验证。可根据实际情况设置验证方式
vim /etc/ssh/shhd_config
PasswordAuthentication yes ;启用密码验证
PubkeyAuthentication yes ;启用秘钥对验证
AuthorizedKeysFile . ssh/authorized_ keys ;指定公钥库文件
使用SSH客户端程序
1、ssh远程登录
ssh 选项 用户名@(对方的登录地址、对方的主机名)
例如:ssh zhangsan@192.168.206.20
注意:如果使用主机名,需要有DNS解析或者Hosts文件做主机名和ip的映射
当用户第一次登录SSH服务器时,必须接受服务器发来的ecdsa秘钥,后才能继续。接受秘钥的信息将保存到~./ssh/known_hosts文件中。秘钥验证成功后,即可登录到目标服务器的命令环境中。
-p 指定非默认端口号,缺省时默认使用22号端口
ssh -p 1234 zhangsan@192.168.206.3
!2、scp远程复制 (远程工具传一台,然后scp相互复制)
下行复制:
scp root@192.168.206.3:/etc/passwd /root/passwd10.txt ;将远端主机中的/etc/passwd文件复制到本机
上行复制:
scp -r /etc/ssh/ root@192.168.206.4:/opt :将本机的/etc/ssh/目录上传到远端主机
ps:遇到目录记得"-r",遇到端口用“-p”
!3、sftp (安全 FTP 注意:使用22号端口)
由于使用了加密和解密技术,所以传输效率要比普通的ftp要低。操作语法sftp与ftp几乎一样。
fstp zhangsan@192.168.206.3 :用户zhangsan使用sftp连接服务器192.168.206.3
(connecting to 192.168.206.3) ;回应显示
(.............................................);输入zhangsan的密码
sftp>ls
sftp> get 文件名 ;下载文件到·FTP目录
sftp> put 文件名 ;上传文件到ftp目录
sftp> quit ; 退出
实验:配置秘钥对验证
环境: a、客户端机206.3、服务器206.8 b、我们先去客户端生存秘钥(公、私),然后去服务端(206.8导入公钥)。最后建立连接。
1、我们首先在客户端(206.3)首先创建一个账户,设置密码。然后su,切换到这个账户的环境中 2、随后我们ssh-keygen -t ecdsa,指定算法ecdsa,回车,会出现下图所示。其中的(/home/jinyuplsp/.ssh/id_ecdsa)是私钥默认的位置。直接使用回车确认。
3、接下来我们设置私钥的passwd,然后再次确认passwd,回车后如图所示完成创建私钥文件
4、验证:我们cd进入.ssh文件。之后使用ls。会出现两个文件,其中带“.pub”的是公钥文件。另外一件事私钥文件。
5、我们使用scp服务将公钥文件传给206.8的服务端主机。(补充:如果想要指定端口来传输公钥,可以使用-p: scp -p 端口 id_ecdsa.pub root@192.168.206.8:/opt)。之后输入指定对方root账户的密码确认即可。 随后我们去客机206.3,cd去opt目录然后ls一下,发现已经收到公钥 6、接着我们在服务器端口(206.8)导入公钥文本。 操作步骤如下
su - test :切换到jinyuplsp账户
mkdir /home/test/.ssh :首先先去jinyuplsp的家目录创建一个.ssh文件
cat /opt/id_ecdsa.pub >> /home/test/.ssh/authorized_keys :随后我们去目标目录导入公钥
cat /home/test/.ssh/authorized_keys :(可选)查看公钥内容
是往/opt/id_ecdsa.pub公钥文本中追加/home/jinyuplsp/.ssh/authorized_keys的内容 随后我们使用cat查看下/home/jinyuplsp/.ssh/authorized_key的内容。公钥结果如图所示。 7、随后我们去客户端206.3中使用秘钥对验证(ssh206.8服务器),使用ssh test验证,然后输入秘钥成功登陆 8、我们在已经进行ssh登录的状态下退出,然后进行ssh的免交互代理。完成后我们再次使用ssh登陆服务器(206.8),发现可以免密码登录了