ssh是一种比较安全的shell,主要用来远程登录和远程执行命令。
在使用ssh之前,我们需要安装sshd服务,可以通过命令systemctl status sshd来查看是否已经安装并开启了服务,如果没有安装,可以用命令yum install sshd来安装服务,用systemctl start sshd开启服务。
下面来介绍ssh的基本用法:
1、远程连接
ssh 远程主机用户@远程主机ip
在第一次连接陌生主机时需要先建立认证关系(输入yes),以后就不用了只需要输入远程用户密码即可登陆成功。
退出登录:exit
ssh 远程主机用户@远程主机ip -X ——调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ——直接在远程主机运行某条命令
2、sshkey加密
我们或许会在可以相信的主机之间频繁的进行远程连接,这时,输入密码会是一件麻烦的事,所以,我们可以采用sshkey加密直接进行连接,不需要输入密码。
(1)生成公钥私钥
ssh-keygen ——生成公钥私钥的工具
(全部按“Enter”采用默认值即可)
生成的文件保存在目录:/root/.ssh/
(2)添加key认证方式
加密自己:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.166
ssh-copy-id ——添加key认证方式的工具
-i ——指定加密key文件
/root/.ssh/id_rsa.pub ——加密key
root ——加密用户为root
172.25.254.166 ——被加密主机ip
(3)分发钥匙给对方主机
scp /root/.ssh/id_rsa root@172.25.254.167:/root/.ssh/
想让谁远程登录自己时不用输入密码,就把密钥发送给谁。
(4)这时,在对方主机上远程连接自己,就不需要输入密码了。
3、openssh-server配置文件
配置文件:/etc/ssh/sshd_config
另外,我们也可以通过修改配置文件,来做一些设置,如:
- 78 PasswordAuthentication yes|no ——是否开启用户密码认证,yes为支持no为关闭
- 48 PermitRootLogin yes|no ##是否允许超级用户登陆
- AllowUsers student … ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
- DenyUsers … ##用户黑名单,不允许名单中出现的用户使用sshd建立shell