远程连接服务
远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操 作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样
远程连接服务器的类型(以登录的连接界面来分类)
- 文字接口
明文传输:Telnet、RSH等,目前非常少用
加密传输:SSH为主,已经取代明文传输
图形接口:XDMCP、VNC、XRDP等
- 字接口连接服务器
SSH(Secure Shell Protocol,安全的壳程序协议)它可以通过数据包加密技术将等待传输的数据包加密 后再传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务 器;另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务
SSH协议
SSH(Secure Shell),安全外壳协议,是一种建立在应用层基础上的安全协议,通过对密码进行加密传 输验证,可以在不安全的网络中对网络服务提供安全地传输环境,实现SSH客户端和SSH服务器的连接, 所以SSH是基于客户端-服务器模式
功能作用
通过使用SSH,可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现,而且也能够 防止DNS欺骗和IP欺骗。还有一个好处就是,传输的数据是经过压缩的,所以可以加快传输的速度。 SSH有很多功能,它既可以替代Telnet,又可以为FTP、Pop,甚至为PPP提供和一个安全的“通道”。
服务组成
SSH服务由服务端软件OpenSSH和连接客户端(SSH、SecureCRT、xshell等)组成,默认端口是22。 SSH是一个守护进程,负责实时监听客户端请求,并进行处理。
ssh常用加密方法
- 对称加密(密码加密) ②非对称加密(密钥加密)
客户端 ssh 命令的用法
ssh [-l 远程主机用户]<ip|hostname>
ssh -l root 172.25.254.105 ##通过ssh命令在105主机中以root身份开启远程shell
-l #指定登陆用户
-i #指定私钥
-X #开启图形
-f #后台运行
-o #指定连接参数 #
ssh -l root@172.25.254.x -o "StrictHostKeyChecking=no" 首次连接不许要输入yes
-t #指定连接跳板
# ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.105
sshd服务的安全优化
生成密钥
]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):输入保存密钥文件
Enter passphrase (empty for no passphrase): 密钥密码
Enter same passphrase again: 确认密码
Your identification has been saved in /root/.ssh/id_rsa.私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. 公钥
The key fingerprint is:
注意:如果需要非交互生成密钥
# ssh-keygen -f /root/.ssh/id_rsa -P ""
上传密钥到服务器
]# ssh-copy-id -i /root/.ssh/id_rsa.pub lee@172.25.254.105
其他常用安全优化参数
Port 2222 #设定端口为2222
PermitRootLogin yes|no #对超级用户登陆是否禁止
PasswordAuthentication yes|no #是否开启原始密码认证方式
AllowUsers lee #用户白名单
DenyUsers lee #用户黑名单