如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
sshd服务项目
ssh B服务器用户名@B服务器IP 以指定的用户名身份登录
ssh B服务器IP 不指定用户名,登录后会以当前身份登录
ssh -x root@B服务器IP 登录后可以调出对方图形程序(如:firefox)
以下远程实验的公用机器举例:
主机A:192.168.4.205
主机B:192.168.4.5
本机上是root用户:
项目1:在本机上的root用户,以对方的root身份和对方root对应密码远程对方。
让主机A上的root用户,以B的root身份和对方root对应密码远程主机B.
在B上:(启动sshd服务)
[root@localhost 桌面]# /etc/init.d/sshd start
在A上远程B:
[root@localhost 桌面]# ssh root@192.168.4.5
输入B的root密码,即可远程登录成功。
项目2:在本机上的root用户,以对方的zhangsan身份和对方zhangsan对应密码远程对方。
让主机A上的root用户,以B的zhangsan身份和对方zhangsan对应密码远程主机B.
在B上:(启动sshd服务,并创建普通用户zhangsan并设置密码123)
[root@localhost 桌面]# /etc/init.d/sshd start
[root@localhost 桌面]# useradd zhangsan
[root@localhost 桌面]# echo "123" |passwd --stdin zhangsan
在A上远程B:
[root@localhost 桌面]# ssh zhangsan@192.168.4.5
输入zhangsan的密码123,即可远程登录成功。
项目3:在本机上的root用户,以对方的root身份和对方root对应密码远程对方(改变端口号)。
让主机A上的root用户,以B的root身份和对方root对应密码远程主机B.
在B上:(启动sshd服务,并改变端口号)
[root@localhost 桌面]# /etc/init.d/sshd start
[root@localhost 桌面]# vim /etc/ssh/sshd_config
Port 8086
wq
[root@localhost 桌面]# /etc/init.d/sshd restart
在A上远程B:
[root@localhost 桌面]# ssh -p 8086 root@192.168.4.5
输入B机器的root密码,即可远程登录成功。
本机上是lisi用户:
项目4:在本机上的lisi用户,以对方的root身份和对方root对应密码远程对方。
让主机A上的lisi用户,以B的root身份和对方root对应密码远程主机B.
在B上:(启动sshd服务)
[root@localhost 桌面]# /etc/init.d/sshd start
在A上远程B:
[root@localhost 桌面]# useradd lisi
[root@localhost 桌面]# echo "456" |passwd --stdin lisi
[root@localhost 桌面]# su – lisi
[lisi@localhost ~]$ ssh root@192.168.4.5
输入B机器的root密码,即可远程登录。
项目5:在本机上的lisi用户,以对方的zhangsan身份和对方zhangsan对应密码远程对方。
让主机A上的lisi用户,以B的zhangsan身份和对方zhangsan对应密码远程主机B.
在B上:(启动sshd服务,并创建普通用户zhangsan并设置密码123)
[root@localhost 桌面]# /etc/init.d/sshd start
[root@localhost 桌面]# useradd zhangsan
[root@localhost 桌面]# echo "123" |passwd --stdin zhangsan
在A上远程B:
[root@localhost 桌面]# useradd lisi
[root@localhost 桌面]# echo "456" |passwd --stdin lisi
[root@localhost 桌面]# su – lisi
[lisi@localhost ~]$ ssh zhangsan@192.168.4.5
输入zhangsan的密码123,即可远程登录成功。
项目6:在本机上的lisi用户,以对方的root身份和对方root对应密码远程对方(改变端口号)。
让主机A上的lisi用户,以B的root身份和对方root对应密码远程主机B.
在B上:(启动sshd服务,并改变端口号)
[root@localhost 桌面]# /etc/init.d/sshd start
[root@localhost 桌面]# vim /etc/ssh/sshd_config
Port 8086
wq
[root@localhost 桌面]# /etc/init.d/sshd restart
在A上远程B:
[root@localhost 桌面]# useradd lisi
[root@localhost 桌面]# echo "456" |passwd --stdin lisi
[root@localhost 桌面]# su – lisi
[lisi@localhost ~]$ ssh -p 8086 root@192.168.4.5
输入B机器的root密码,即可远程登录成功。
小结:
1ssh安全的加密协议,用于远程连接服务器。
2默认端口是22,安全协议版本ssh2.
3服务端主要包含两个服务功能ssh远程连接,sftp服务。
4ssh客户端包含ssh连接命令,以及远程拷贝scp命令和sftp命令。
ssh服务的安装包名为:openssh
[root@localhost 桌面]# rpm -q openssh
openssh-5.3p1-94.el6.x86_64
[root@localhost 桌面]# rpm -qa openssh
openssh-5.3p1-94.el6.x86_64
ssh服务认证类型:
基于口令的安全认证:
就是现在一直在用的,只要知道服务器的ssh连接账号和口令(也要知道对应的IP和开放的ssh端口,默认为22),就可以通过ssh客户端登陆到这台远程主机,此时联机过程中是所有传输的数据都是加密的。
基于秘钥的安全认证:
需要依靠秘钥,也就是必须事先建立一对密钥对,然后把公钥放在需要访问的目标服务器上,另外,还需要把私钥放在客户端。如果想连接带公钥的服务器,客户端就会向服务器发出请求,请求用联机的用户秘钥进行安全验证,服务器收到请求后,会先在该服务器上连接的用户家目录下寻找事先放上去的对应用户的公钥,然后把它和客户端发过来的公钥进行比较,如果两个秘钥一致,服务器就用公钥加密文件,并发给客户端。客户端接到加密文件后,用自己的私钥解密。
ssh命令小结:
1切换到别的机器上:ssh -p 端口号 用户名@对方IP
2不用切换到其他机器就对其他机器执行命令: ssh -p 端口号 用户名@对方IP 命令(全路径)
3当第一次连接时候,本地会产生一个秘钥 ~/.ssh/known_hosts(服务器多时有多个秘钥)
4ssh加密的远程连接协议,openssh,openssl
5默认端口22
6 1.x, 2.x
7服务端ssh远程连接服务,sftp服务,sshd守护进程,开机要自启动。
8 ssh客户端包含ssh命令,scp,sftp
9 ssh安全验证:口令和秘钥,这两种都是基于用户的。
10 安全优化,修改默认端口,禁止root远程连接。
11服务器端公钥,客户端私钥。
如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频