|
ssh服务
1.简单tcp服务: tcpdump -i eth0 -nnX port 21 (监听eth0网络下的端口为21的ftp服务)
2.非对称加密:
公钥:用来加密
私钥:用来解密
3.ssh既可以是客户端也可以是服务端,当你用ssh去连接其他服务器时候,你本身就是客户端,使用的就是客户端的配置文件,如果你是被连接的,则为服务器端
所有有两个配置文件:/etc/ssh/ssh_config (客户端配置文件)、/etc/ssh/sshd_config(服务器)
4.服务器配置文件部分说明:
普通部分:
Port 22 端口号,建议修改成别的,避免被攻击
ListenAddress 0.0.0.0 监听的ip,默认监听所有
Protocol 2 ssh的协议版本选择,这里选择的是ssh2
HostKey **** 私钥的所在路径
GSSAPIAuthentication 启动gssapi验证,默认开启,该验证需要先通过dns验证,一般在登陆的情况下如果开启该认证会需要等候一段时间,建议,如果是关闭该选项,但是关闭的是本身客户端的配置文件中的钙选项,因为你是去连接其他服务器的
安全性部分:
PermitRootLogin yes 允许root账号登陆,一般建议为no
PubkeyAuthentication yes 是否使用公钥验证登陆
AuthorizedKeysFile *** 公钥的保存位置,这个选项和其上一个选项配合使用,通过两者,就可以不用输入账号和密码来登陆,更加安全
PasswordAuthentication yes 允许使用密码验证登陆,如果该选项设置成no的话,你将无法通过ssh加账号密码登陆,除非你开启了PubkeyAuthentication选项(使用公钥验证来登陆)
5.ssh的日志默认为info等级,记录的路径是在系统路径中:/var/log/secure
6.ssh命令
scp复制命令:
下载:scp 源主机 本主机 (如果是目录,需要添加参数-r)
举例:scp -r root@192.168.209.135:/data/sh_file ./tmp 将135机子的sh_file目录下载到当前目录下的tmp目录中
上传:scp 本主机 源主机 (如果是目录,需要添加参数-r)
举例:scp -r ./tmp/log root@192.168.209.135:/data/ 将本机子tmp目录下的log文件夹上传到135机子中去,注意参数-r
sftp:用ssh来ftp操作
sftp root@192.168.209.135 之后就登陆到135机子了
具体的sftp命令查看手册
7.ssh的密钥登陆方式
1.客户端操作:客户端生成密钥:ssh-keygen -t rsa ,之后会提示密钥默认存放的位置,一般是当前用户的.ssh/id_rsa ,然后提示输入生成的密钥的密码,可以设置成空,如果以后是使用ssh工具+公钥的方式链接到目标服务器的话,在工具的密码选项中需要改密码!!
2.客户端操作:把客户端的公钥传递到目标服务器中,先传递到日后在”客户端登陆后使用的用户“的家目录下,这里使用root,因为有可能该用的家目录下bin没有.ssh目录,需要手动添加
scp id_rsa.pub root@192.168.209。130:/root/
3.服务器端操作:将上传的公钥存放到对应目录的对应文件中, 必须是.ssh目录下的authorized_keys文件,这里使用内容追加的方式,日后可以运行多台客户端通过公钥登陆到该目标服务器,每个公钥的内容都必须是为一行,不能连接在一起,这点需要注意
cat id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys 修改公钥文件的权限为600,该操作必须执行
4.服务器端操作:修改ssh的服务器端配置文件的相关选项,最后重启sshd服务(service sshd restart),如下:(配置文件路劲:/etc/ssh/sshd_config)
RSAAuthentication yes 开启rsa验证
PubkeyAuthentication yes 开启使用公钥验证
AuthorizedKeysFile .ssh/authorized_keys 公钥的保存位置
PasswordAuthentication no 不允许通过账目密码形式来登陆
5.如果是用ssh工具登陆的话,需要使用该工具自带的工具生成对应的公钥和密钥,是openss格式的,再将ssh工具登陆目标服务器的方式修改为用密钥登陆的方式,最后按照上面的2、3、4步骤来完成,
|
|
|
|
|
|
|