SSH远程管理
配置OpenSSH服务端
SSH服务及配置文件
SSH概述
SSH是一种安全通道协议,默认使用TCP22号端口,主要用来远程登录和远程复制等功能,它给通信双方的数据传输进行了加密处理,相比于telnet这种明文传输的额远程登录提供了很好的安全性
服务名称:sshd(CentOS6.5后默认安装开启)
服务端配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config
查看服务监听选项
服务器端
[root@server ~]# vim /etc/ssh/sshd_config
17 #Port 22 :端口号。可改为乱序的。让别人无法攻击。客户端和服务器的端口号一直时,可以不用 -p.
37 #LoginGraceTime 2m :登陆超时时间:2min。超过时间断开连接
38 #PermitRootLogin yes :允许root登陆。yes。
40 #MaxAuthTries 6 :默认最大尝试次数。客户端默认尝试3次。将客户端默认数调大可以尝试6次。
43 #PubkeyAuthentication yes :默认开始公钥认证。
63 #PasswordAuthentication yes :密码认证
64 #PermitEmptyPasswords no :允许空密码登陆
96 UsePAM yes :
115 #UseDNS yes :默认使用dns:使用时需要查询DNS,实验时可以关掉。
116 #PidFile /var/run/sshd.pid :sshd.pid:每起一个进程存放进程的PID号。
登陆验证方式
sshd服务支持两种验证方式:密码验证 ,密钥对验证。
1 密码验证:
以服务器中本地系统用户的登录名称,密码进行认证,这种方式安全性较低
2 密钥对验证
要求提供相匹配的密钥(公钥,私钥)来通过验证,分为两种
(1)对称加密:采用单密钥系统加密方法,同一密钥用于信息的加密和解密,优点加密速度和效率很快,缺点是容易被破解,不是很安全。
(2)非对称加密:采用公开密钥和私有密钥两种密钥加密,两种密钥成对生成,可以互相加密解密,公钥对外公开,私钥只有持有人才知道。
使用SSH客户端程序
SSH概述
OpenSSH客户端由openssh-clients提供。默认已安装,其中包括ssh远程登陆命令。以及scp,sftp远程复制和文件传输命令。
命令程序
ssh远程登陆
通过ssh命令可以远程登陆sshd服务。
- ssh root@192.168.108.104 -p 1314 :登陆服务器。-p 1314 :指定端口号 。默认22.
客户端和服务器的端口号一致时,可以不用 -p
退出:exit
可以修改黑白名单远程登陆不了指定用户
Allowusers 白名单:
Denyusers :黑名单。黑名单优先。
设置完成后重启sshd
zhangsan@192.168.108.103:限定tom从哪个客户端登陆。
一般设置白名单。只有白名单中的可以登陆。
scp远程复制
使用scp命令进行复制时必须指定复制源,目标。
将远程server的/opt目录下的test.server文件复制到本机/opt下并改名为test.client
将本机/opt下的test.client复制到远程server的/opt下
-r: 递归复制整个目录。
-p:带属性传输
-P:指定端口
scp -P 1314 -rp xzw/ root@192.168.108.104:/opt:将xzw/目录传输到IP为104的,端口号为1314的服务器上的/opt目录下。
sftp安全ftp
通过sftp可以利用ssh安全连接与远程主机上传,下载文件。采用了与FTP类似的登陆过程和交互模式环境。便于目录资源管理
上传文件:put
退出:bye
下载文件:get
lcd:打开本机目录
lls:查看本机目录下内容
免密登陆
1.在客户端构建密钥对
通过keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA或DSA
ssh-keygen -t rsa :指定加密算法为rsa
输入命令 ssh-keygen
确认生成的密钥文件
id_rsa:为私钥文件,id_rsa.pub为公钥文件用来提供给服务器
查看密钥:[root@client ~]# vim /root/.ssh/id_rsa
2.将公钥文件上传到服务器
[root@client ~]# scp ~/.ssh/id_rsa.pub root@192.168.108.104:/tmp
root@192.168.108.104's password:
id_rsa.pub 100% 393 314.5KB/s 00:00
[root@client ~]#
或:
[root@client ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub zhangsan@192.168.108.104
3.在服务器中导入公钥文本
在服务器中,用来远程登陆的账号打公钥数据库位于~/.ssh目录,默认文件名是:authorized_keys。当获得客户机发送过来的公钥文件后,可以通过重定向将公钥文件文件内容追加到目标用户的公钥数据库中。
cat known_hosts:查看与谁建立过连接