1.概述
远程连接控制服务
2.名称
- 服务名
sshd
- 软件名
sshd(openssh)
3.配置文件
/etc/ssh/ssh_conf #客户端配置文件
/etc/ssh/sshd_cond #服务端配置文件
#Port 22 默认端口可以修改
#AddressFamily any
#ListenAddress 0.0.0.0 监听任何地址
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key 默认生成的密钥文件
#HostKey /etc/ssh/ssh_host_ed25519_key
AuthorizedKeysFile .ssh/authorized_keys #密钥库文件
#PermitRootLogin prohibit-password 允许root用户远程登陆 !!!!!!!!!!!!!
yes/no 是/否
#可以设置添加黑白名单
白名单 AllowUsers 用户名@Ip地址 只允许
黑名单 DenyUsers 用户名@IP地址 只拒绝
拒绝的权限大于允许的权限
4.命令
-
相关操作
scp 可以个主机发送文件,也可以作备份,工作模式:本地->本地,本地->远程,远程->远程 sftp 看作ssh和scp的结合,登陆到目标主机从目标主机上获取或发送文件 rsync 和scp的命令格式一样,rsync是增量发送,scp是全量发送
-
格式
scp 本地文件地址 目标文件地址 sftp 用户名@IP地址 获取文件 get get 文件位置 目标 发送文件 put put 文件位置 目标
-
示例
scp /test/1.txt root@192.168.98.100:/test sftp root@192.168.98.100 a---->b get /test/1.txt /test/2.txt #b下载1.txt文件到a put /test/2.txt /test/sftp.txt #从a上传2.txt文件到b
-
-
格式
选项 -p #指定端口 ssh 用户名@IP地址 #远程连接主机 #免密登录 ssh-keygen #生成密钥 -t 指定生成密钥类型 ssh-copy-id 被连接主机的ip #将自己的公钥推送到服务端
-
示例
ssh -p 22 root@192.168.98.100 #以root用户远程登陆到目标主机 ssh-keygen #生成密钥对 ssh-copy-id 192.168.98.100 #将自己的公钥推送到目标主机
5.端口
tcp/22
6.相关概念
- 客户端
只访问服务端不用干活
,对于ssh服务来说是发起连接的主机 - 服务端
需要给客服端提供服务
,对于ssh服务来说是被连接的主机
7.实验(scp命令)
-
不同网段的远程到远程
实验环境
主机 网卡 A NAT模式 ip->192.168.98.143 网关->192.168.98.254 B (双网卡) ip1->192.168.98.254 网关1->192.168.98.254 (NAT模式)
ip2->192.168.198.140 网关2->192.168.198.254 (仅主机模式)C 仅主机模式 ip->192.168.198.254 网关->192.168.198.254(仅主机模式) #使用主机b 测试 scp root@192.168.98.143:/test/1.txt root@192.168.198.198:/test
-
不同网段的本地到远程(需要开启路由转发)
实验环境
主机 网卡 A NAT模式 ip->192.168.98.143 网关->192.168.98.254 B (双网卡) ip1->192.168.98.254 网关1->192.168.98.254 (NAT模式)
ip2->192.168.198.140 网关2->192.168.198.254 (仅主机模式)C 仅主机模式 ip->192.168.198. 254网关->192.168.198.254(仅主机模式) -
主机A
ip route add 192.168.198.0/24 via 192.168.98.254 #配置路由
-
主机B
echo 'net.ipv4.ip_forword=1'>> /etc/sysctl.conf && sysctl -p #开启路由转发
-
主机C
ip route add 192.168.98.0/24 via 192.168.198.254 #配置路由
-
测试(使用主机A)
scp /test/1.txt root@192.168.198.198:/test
-