1、ssh服务 ,免密登陆,远程拷贝
ssh默认自动安装,自动运行,无论关闭不关闭防火墙、selinux、安全组都默认开启安装
openssh-server 提供服务 sshd的服务
openssh-clients 客户端 ssh 10.11.59.31
安装ssh
[root@ssh-server ~]# yum -y install openssh*
ssh 端口22
服务器端:
启动服务:
[root@ssh-server ~]# systemctl start sshd
先直接验证是否启动ssh:
[root@ssh-server ~]# lsof -i:22
[root@ssh-server ~]# ss -auntpl |grep sshd
[root@ssh-server ~]# ss -auntpl |grep :22
客户端:
远程登陆管理
[root@ssh-client ~]# ssh 10.11.67.69=ssh root@10.11.67.69
客户端输入ssh-server密码,进入ssh-server界面,这样登陆的是ssh-server的root账户
[root@ssh-server ~]# useradd kakaops
[root@ssh-server ~]# passwd kakaops
[root@ssh-client ~]# ssh kakaops@10.11.67.69
账户@ip,输入账户sun的密码,客户端可以登陆到ssh-server的sun账户
[root@ssh-client ~]# ssh -X 10.11.67.69 firefox
如果ssh-server是图形化界面,-X 可以在本地打开远端服务器的图像化界面的软件,比如输入firefox可以打开火狐
[root@ssh-clinet ~]# ssh 10.11.65.32 -p 2222
如果ssh-server更改了ssh的默认22端口号,客户端远程登陆的时候需要-p指定ssh-server更改后的端口
2、无密码登陆(ssh密钥认证)
免密操作:客户端产生公钥和私钥,并且把公钥拷贝给ssh-server,然后输入ssh-server的密码,以后客户端再次登陆就可以免密登陆
客户端产生公钥和私钥:
[root@ssh-client ~]# ssh-keygen
一路回车
客户端把拷贝公钥给对方:并且输入ssh-server的密码
[root@ssh-client ~]# ssh-copy-id -i 10.11.67.69
[root@ssh-client ~]# ssh-copy-id -i kakaops@10.11.67.69
指定用户做免密操作
客户端的公钥和私钥存放路径/root/.ssh
id_rsa.pub是公钥 id_rsa是私钥
[root@ssh-clinet ~]# ls /root/.ssh
id_rsa id_rsa.pub known_hosts
ssh服务器端的/root/.ssh/authorized_keys是存放客户端发送过来的公钥的
[root@ssh-server ~]# ls /root/.ssh
authorized_keys id_rsa id_rsa.pub known_hosts
known_hosts 存放已经建立连接的主机信息
3、直接执行远程命令
[root@qfedu.com ~]# ssh 10.18.44.208 “reboot”
即使做了免密操作,执行命令还是需要输入密码的(除非做双向免密)
生成公钥不用提示回车,直接生成
[root@ssh-client ~]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -N “”
-t指定rsa加密算法 -f指定公钥的存储目录 -N不压缩
再次生成公钥因为已经存在,还是会询问是否压缩
4、远程拷贝
需要先安装客户端
cp -v 文件源路径 文件目的路径
cp -rv 目录源路径 目录目的路径
谁是远程谁加IP
已经将远程主机sshd端口改成69
[root@ssh-server ~]# scp -P 69 kakaops.txt 10.11.67.31:/mnt/
[root@ssh-server ~]# scp -r -P 69 kakaops.dir/ 10.11.67.31:/mnt/
[root@ssh-client ~]# scp kakaops.txt 10.11.67.69:/mnt/
-P端口
拷贝目录加-r选项
5、sshd的配置文件操作
修改端口号和ssh日志对象
[root@qfedu.com ~]# vim /etc/ssh/sshd_config
[root@xingdian ~]# vim /etc/ssh/sshd_config
Port 22 修改 18888
PermitEmptyPasswords no #把‘#’注销掉-禁止空密码帐户登入服务器
PermitRootLogin yes 允许root账户登录
这行的意思是允许使用root用户登陆,所以我们将它改为no 不允许root用户直接登陆
保存退出配置文件后,重启sshd服务
ystemctl restart sshd.service
重新建立连接就发现root用户已经不能登陆了,我们只能通过普通用户登陆再进行切换
MaxAuthTries 2 #两次错误就切断重新SSH启动登入
6、指纹不匹配
[root@xingdian ~]# ssh 172.16.50.240
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
7e:b5:1d:3b:1c:81:d2:6b:d2:96:f7:1a:1f:e8:16:27.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:2
RSA host key for 172.16.50.240 has changed and you have requested strict checking.
Host key verification failed.
[root@xingdian ~]# rm ~/.ssh/known_hosts //删除已建立过连接主机的密钥