ssh远程登录
telnet 远程登录 主机之间的传输数据是明文的 不太安全
ssh 基于22端口 用于主机之间安全的远程链接 也可以实现主机之间的数据拷贝,数据都是加密的 并且支持身份验证和免密登录。
1.ssh远程登录主机 、root用户不允许远程登录 、 只能登录一个普通用户
server 192.168.2.10
client 192.168.2.20
1.查看是否安装所需程序 和 运行状态
[root@localhost ~]# rpm -q openssh
openssh-6.6.1p1-31.el7.x86_64
[root@localhost ~]# netstat -anput | grep sshd
2.client:尝试登录服务端
[root@localhost ~]# ssh root@192.168.2.10
(服务端ip) ---yes---服务端root用户密码
3.在客户端创建一个文件后发现在服务端也能看见说明已经远程上了
[root@localhost ~]# pwd
/root
[root@localhost ~]#
[root@localhost ~]# touch /home/1234
退出:exit
[root@localhost ~]# exit
登出
Connection to 192.168.2.10 closed.
root用户不允许远程登录 只能登录一个普通用户
[root@localhost ~]# vim /etc/ssh/sshd_config
配置文件注释:
config #主配置文件
17 #Port 22 #端口
19 #ListenAddress 0.0.0.0 #监听的Ipv4的地址
37 #LoginGraceTime 2m #连接的超时时间 2m2分钟 2m没有操作就会自动断开
38 #PermitRootLogin yes #是否允许客户端使用root用户连接
#在实际环境当中一定要关闭root用户的远程登录
40 #MaxAuthTries 6 #客户端连接服务端时尝试连接的次数
41 #MaxSessions 10 #最大连接量 可以允许10个客户端连接
43 #PubkeyAuthentication yes #客户端连接服务端是否可以使用秘钥连接
更改的配置
PermitRootLogin no
AllowUsers lisi
保存退出后创建用户 并给予密码
[root@localhost ~]# useradd lisi
[root@localhost ~]# passwd lisi
client:
[root@localhost ~]# ssh lisi@192.168.2.10
lisi@192.168.2.10's password:
#这样就实现了 不允许root用户登录 允许普通用户lisi登录
------------------------------------------------------------------------
2.如何实现免密登录
配置免密登录需要输入client的密码,之后的登录直接通过client的秘钥
先把上个实验更改的配置给注释掉
Server
[root@localhost ~]# vim /etc/ssh/sshd_config
#PermitRootLogin no
#AllowUsers lisi
[root@localhost ~]# systemctl restart sshd
client
[root@localhost ~]# ssh-keygen
[root@localhost ~]# ls .ssh
id_rsa id_rsa.pub known_hosts
私钥 公钥
把公钥传到服务端
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.2.10
[root@localhost ~]# ssh-copy-id root@192.168.2.10 #两个方法选一条
server
可以查看到客户端传过来的公钥
[root@localhost ~]# ls /root/.ssh/
authorized_keys
client
不需要输入密码就可以直接登录
[root@localhost ~]# ssh root@192.168.2.10
Last login: Wed Dec 8 13:51:39 2021 from 192.168.2.20
-----------------------------------------------------
3.scp命令使用
cp复制、ssh+cp 远程拷贝
A 192.168.2.10
B 192.168.2.20
将A主机数据拷贝到B主机
A:推送数据 ##遇到同名文件或目录 会覆盖
scp src源文件 user@ip:/dest
[root@localhost ~]# scp jin root@192.168.2.20:/home
拷贝目录 加-r
[root@localhost ~]# scp -r jin root@192.168.2.20:/home
B:拉数据
scp user@A主机ip:/src /dest
[root@localhost ~]# scp root@192.168.2.10:/jjj/inx /home