码迷,mamicode.com
首页 > 其他好文 > 详细

SSH服务

时间:2019-04-22 10:50:14      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:ken   man   centos   加密   指定端口   登录   bash   vim   ecb   

作用:基于C/S架构的服务,建立TCP上的一个远程登录服务,该服务监听与众所周知的22号端口之上

基于软件的具体实现:

OpenSSH: ssh协议的开源实现,CentOS默认安装
dropbear:另一个开源实现

注:dropbear在bosybox上可以安装此服务实现远程登录

SSH的协议版本:
v1: 基于CRC-32做MAC,不安全;man-in-middle
v2:双方主机协议选择安全的MAC方式
基于DH算法做密钥交换,基于RSA或DSA实现身份认证

配置文件详解:
服务器端陪住文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config
ask:询问是不是需要将对方主机的公钥,ask代表需要,可以改成no,那么就不需要输入yes
技术图片
端口号:可以修改成别的端口号,客户端在登录时要指定端口号才可以
改服务器端的配置文件,把端口号改成别的端口号
vim /etc/ssh/ssh_config
技术图片
改完之后重启服务
systemctl restart sshd
技术图片
用别的主机连此主机的2222号端口
ssh 192.168.1.11 -p 2222
技术图片
用法:
执行一次性任务,会打印在标准输出上,执行完后会退出当前的主机
技术图片
-p :指定连接的端口号

基于key的验证(我想要连接谁,不需要密码,就把自己的公钥拷贝给别人):
1, 首先在客户端生成一对密钥(公钥和私钥),在家目录下的.ssh目录中
交互式生成:ssh-keygen -t rsa
命令生成:ssh-kengen -t rsa -N ‘ ‘ -f /root/.ssh/id_rsa
Enter file in which to save the key (/root/.ssh/id_rsa):指定生成的密钥存放的目录,默认存放在/root/.ssh/id_rsa下,可以不输入
Enter passphrase (empty for no passphrase):输入密钥的加密密码,可以不输入
Enter same passphrase again:再次确认输入的密码
技术图片
2,客户端把公钥拷贝到服务器的.ssh目录下,默认拷贝到root目录下
ssh-copy-id -i .ssh/id_rsa 192.168.1.12
技术图片
3,服务器基于key验证,不用再主机上执行任何服务
在要登录的主机上启用ssh的代理服务,不需要输入密钥的密码
技术图片
几台主机之间连接不需要密码,把生成的密钥对分别拷贝到这几台主机上。相当于这几台主机用的是相同的key

1,把之前生成的文件在三台主机之间相互拷贝,在主机之间相互连接时,相当于连接自己的端口,所以不需要任何密码
scp -rp .ssh 192.168.1.12:/root/
技术图片

2,在要登录的主机上启用ssh的代理服务
ssh-agent bash
ssh-add
技术图片
注:
scp拷贝的缺点:会拷贝已经存在的文件,没有任何意义,相当于Windows中的替换功能

rsync:
相对于scp,rsync并且会跳过已经存在的文件,(用rsync实现连个服务器之间目录的同步)

注:
使用安全的shell连接做为传输方式
rsync -av /etc server1:/tmp 复制目录和目录下文件
rsync -av /etc/ server1:/tmp 只复制目录下文件

SSH服务

标签:ken   man   centos   加密   指定端口   登录   bash   vim   ecb   

原文地址:https://blog.51cto.com/14163901/2382409

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!