ssh远程管理服务
openssh-service 提供服务
openssh-clients 客户端
sshd服务的端口号----22
安装
[root@linux-server ~]# yum install -y openssh*
1.服务器端启动服务:
systemctl start sshd
2.关闭防火墙和selinux
登录方式
远程登录:
[root@linux-server ~]# ssh root@192.168.246.114
参数解释:
root 用户默认不写为root,也可以使用其他用户
无密码登陆(ssh密钥认证)
1.产生公钥和私钥: 生成一对密钥:公钥+私钥
[root@linux-server ~]# ssh-keygen #一直回车
2.查看钥匙的目录:
[root@linux-server ~]# cd /root/.ssh/
id_rsa ---私钥
id_rsa.pub ---公钥
known_hosts ----确认过公钥指纹的可信服务器列表的文件
authorized_keys ---授权文件,是传输过公钥到对方服务后会自动重命名生成的
3.拷贝公钥给对方机器:
[root@linux-server ~]# ssh-copy-id 对方机器ip地址
ip地址:指的是对方服务器
4.远程连接的时候就不用输入密码了
修改端口号:
修改配置文件:
# vim /etc/ssh/sshd_config
17 #Port 22 #将注释去掉,修改端口号可以修改为自定义的。
[root@linux-server ~]# systemctl restart sshd
?
远程登录
-p:prot端口,指定端口,如果端口修改了需要指定
案例:
[root@linux-server ~]# ssh root@192.168.246.158 -p 2222
远程拷贝
远程拷贝:
# scp -P 端口号 /a.txt ip:/路径
源文件 目标地址
?
[root@linux-server ~]# scp -r -P 2222 test/ 192.168.246.158:/root/
谁是远程加谁ip
远程拷贝目标机器改了端口加-(大)P
目录加 -r
禁止root用户远程登陆
认识sshd_congfig配置文件
[root@testpm ~]# vim /etc/ssh/sshd_config
#Port 22 #监听端口,默认监听22端口 【默认可修改】
#AddressFamily any #IPV4和IPV6协议家族用哪个,any表示二者均有
#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址 【默认可修改】
#ListenAddress :: #指明监听的IPV6的所有地址格式
?
#Protocol 2 #使用SSH第二版本,centos7默认第一版本已拒绝
?
#LogLevel INFO #日志记录级别,默认为info
#LoginGraceTime 2m #登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
#PermitRootLogin yes #是否允许管理员直接登录,'yes'表示允许,实际生产中建议修改为no
#MaxAuthTries 6 #最大认证尝试次数,最多可以尝试6次输入密码超过之后断开连接
#MaxSessions 10 #最大允许保持多少个连接。默认值是 10
?
#PubkeyAuthentication yes #是否开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys #公钥验证文件路径
?
禁止root用户远程登录
[root@testpm ~]# vim /etc/ssh/sshd_config
37 #LoginGraceTime 2m
38 #PermitRootLogin yes #默认为允许root用户远程登陆
39 #StrictModes yes
进行修改如下
[root@testpm ~]# vim /etc/ssh/sshd_config
37 #LoginGraceTime 2m
38 PermitRootLogin no #将注释打开并将yes修改为no
39 #StrictModes yes
保存退出并重启sshd服务
[root@testpm ~]# systemctl restart sshd