Centos7 配置SSH远程访问及控制
-
SSH简介
OpenSSH是实现SSH协议的开源软件项目。在CentOS 7中,OpenSSH的rpm包由四部分组成(默认已安装,并已添加为标准系统服务)
openssh ~ .rpm
、openssh-server ~ .rpm
、openssh-clients ~ .rpm
、openssh-askpass ~ .rpm
组成。OpenSSH的主要配置文件为:
/etc/ssh/sshd_config #ssh服务器配置文件
/etc/ssh/ssh_config #ssh客户端配置文件
-
配置文件说明
Port 22 | 监听端口 |
ListenAddress 0.0.0.0 | 监听地址 |
Protocol 2 | 使用SSH V2版本 |
UseDNS no | 禁用DNS反向解析,提高啥响应速度 |
LoginGraceTime 2m | 登录验证时间为2分钟 |
PermitRootLogin no | 禁止root用户登录 |
MaxAuthTries 6 | 最大重试次数为6次 |
PermitEmptyPasswords no | 禁止空密码登录 |
AllowUsers xiaoli xiaozhang | 只允许xiaoli xiaozhang 登录 |
passwordAuthentication yes | 启用密码验证 |
pubkeyAuthentication yes | 启用密钥对验证 |
AuthorizedKeysFile ./ssh/authorized_keys | 指定公钥库文件 |
-
SSH客户端命令
ssh -p22 omd@192.168.25.137 登录
ssh omd@192.168.1.100 "ls /home/omd" # 当前服务器A远程登录服务器B后执行某个命令
ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh" # 远程登录服务器后执行某个脚本sftp -oPort=22 root@192.168.25.137 sftp客户端连接
put /etc/hosts /tmp 上传
get /etc/hosts /home/omd 下载
-
基于密钥对访问
[root@localhost ~]# cd /root/.ssh/ 【root用户就在root目录下的.ssh目录】
[root@localhost ~]# cd /home/omd/.ssh/ 【普通用户就是在家目录下的.ssh目录】
[root@localhost .ssh]# ssh-keygen -t dsa # 一路回车即可id_dsa -->私钥(钥匙) id_dsa.pub -->公钥(锁)
[root@localhost .ssh]# ssh-copy-id -i id_dsa.pub –p 666 omd@192.168.25.120
或scp ~/.ssh/id_ecdsa.pub root@192.168.1.1:/mnt
root@192.168.1.1's password: //输入密码
id_ecdsa.pub 100% 179 0.2KB/s 00:00
在服务器中导入公钥文件
[root@fuwuduan ~]# mkdir /home/xiaozhang/.ssh
[root@fuwuduan ~]# cat /mnt/id_ecdsa.pub >> /home/xiaozhang/.ssh/authorized_keys
[root@fuwuduan ~]# cat /home/xiaozhang/.ssh/authorized_keys 在客户端使用密钥对验证ssh xiaozhang@192.168.1.1
Last login: Thu Aug 8 16:03:33 2019 from 192.168.1.2
//不用输入密码,即可连接,实验完成!