
您现在的位置是:首页 > Linux块 > 系统服务
深度解读SSH服务,及使用方法
深度解读SSH服务,及使用方法系统服务 21 人已围观
简介
一、常见几款连接工具:
1、连接工具:putty(建议使用官方英文版,汉化版本,不安全有木马漏洞)
2、SecureCRT(商业版本)
3、SSHSecureShellclient(开原版本)
4、Xmanager(常用)
二、文件解析部分:
/etc/ssh///配置文件路径,客户端文件(ssh_config),服务端配置文件(sshd_config),
moduli//建立会话秘钥交换的信息配置文件
ssh_config//客户端配置文件
sshd_config//服务端配置文件
ssh_host_dsa_key//v2安全版本使用的私钥
ssh_host_dsa_key.pbu//v2安全版本使用的公钥
ssh_host_key//v1算法版本,不安全版本
ssh_host_key.pub//v1算法版本,不安全版本,V1和V2版本加密算法的选择,取决于客户端的请求。
ssh_host_rsa_key//v2安全版本使用的私钥
ssh_host_rsa_key.pub//v2安全版本使用的公钥,私钥和公钥是成对出现的。
#rpm -qa | grep ssh //查看ssh安装包及服务端和客户端版本
openssh-server-4.3p2-82.el5 //服务器端
openssh-4.3p2-82.el5 //通用组件库
openssh-askpass-4.3p2-82.el5 //建立会话用到的工具
openssh-clients-4.3p2-82.el5 //客户端程序
#rpm -qi openssh //关于SSH服务介绍及命令使用
#netstat -tnl //查看已运行的服务端口,监听命令,参数t表示tcp服务,u表示udp协议,n表示已数组形式显示,l表示处于监听状态下的服务。
#netstat -tu //不加l,表示tcp和udp协议当前处于正在连接状态的会话,
#netstat -r //显示路由表
#netstat -p//表示哪一个程序监听了这个端口状态
#netstat -tunlp//全部参数组合用法,
#service sshd status //获取ssh服务的运行状态
下面是sshd_config服务器端配置文件的解释
# 解释部分省略
#Port22//默认为22,可以注释掉,如果需要使用其他端口,去掉#启用port 后面填好端口号即可
#protocol 2,1 //支持版本v2和v1选项同时启用,默认不启用
protocol 2//仅启用V2版本
#AddressFamily any //指定一个地址或多个地址进行服务,如IPv4/IPv6同时服务等
#ListenAddress0.0.0.0
#ListenAddress::
# HostKey for protocol version 1 //#+空格属于纯注释,#+命令为可执行的命令选项
#hostKey /etc/ssh/ssh_host_key
# HostKey for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key //本段上面已经解释过了,不做解释
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h //秘钥重新生成的时间间隔为1小时
#ServerKeyBits 768 //服务器端秘钥长度 768位,更长可以改成2048
# Logging //登陆日志部分
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO//日志级别
# Authentication://登入认证
#LoginGraceTime 2m//时间阀值默认为2分钟
#PermitRootLogin yes//是否允许管理员直接登陆,如果不允许改为no,为安全起见先用普通用户登陆,然后su到管理员更为保险。
#StrictModes yes//是否使用严格限定模式。
#MaxAuthTries 6//最多尝试6次错误登陆次数。
#RSAAuthentication yes//是否基于秘钥认证
#PubkeyAuthentication yes//秘钥机制
#AuthorizedKeysFile.ssh/authorized_keys //客户端公钥放在服务端家目录的路径位置
#To disable tunneled clear text passwords,change to no here! //基于主机的认证
#PasswordAuthentication yes
#PermitEcptyPasswords no
PasswordAuthentication yes
# Change to no to disable s/key passwords //是否启用挑战式握手协议认证
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
# Kerberos options//是不是基于Kerbers 进行认证的
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#UsePAM NO//是否使用UsePAM进行认证(可插入式认证模块)
UsePAM yes//一般启用
#X11Forwarding no
X11Forwarding yes //是否转发X11请求
#PrintMotd//在用户登陆的时候是否显示Motd文件内容,在/etc/Motd文件目录下
#PrintLastLog yes//是否显示上一次登陆主机内容,一般不启用,
.
.
.
中间部分不常用的选项省略不译...
# no default banner path
#Banner /some/path//欢迎标语,存储位置,一般为空
# override default of no subsystems
Subsystem sftp/usr/libexec/openssh/sftp-server //sftp子程序服务。
三、关于SSH服务及命令
service sshd {start|stop|restart|reload|condrestart|status}
在服务器上用SSH命令远程登陆客户端的相关命令:
ssh:
ssh -l USERNAME REMOTE_HOST['command'] //用法1:#ssh -l root 192.168.100.1 'ifconfig'
ssh USERNAME@REMOTE_HOST //用法2:#ssh root#192.168.100.1 输入yes,输入密码完成登陆。
ssh -X|Y //执行远程图形界面窗口功能
生成秘钥命令:ssh-keygen -t // -t指定加密算法
#ssh-keygen -t rsa
-t{rsa|dsa}
-f /path/to/keyfile //表示保存的秘钥文件
-N 'passwork' //指定密码的
文件传输命令:ssh-copy-id 或 scp //基于ssh的远程复制命令,可以实现在主机之间传输数据
scp [options] SRC DEST
-r 为递归复制
-p 权限等信息
-a 相当于-rp
格式:USERNAME@HOSTNAME:/path/to/somefile
远程文件复制到本地服务器:#scp root@192.168.100.1:/etc/xxx文件名 ./ ,输入密码即可完成
本地文件复制到远程服务器:#scp xxx root@192.168.100.2:/root ,输入密码即可完成
sftp命令:
#sftp root@192.168.100.1 //想要下载单个文件 直接用get命令即可下载过来。
四、网络安全
1、密码应该经常换且足够复杂
2、使用非默认端口
3、禁止管理员直接登录
4、仅允许有限制用户登录
5、使用基于秘钥的认证
6、限制登录客户端地址
7、禁止使用v1的ssh版本
五、横向拓展学习 嵌入式系统专用的ssh软件 dropbear
Tags:
上一篇:没有了!
下一篇:没有了!

相关文章
记录生活
- 文章统计:1篇文章
- 今日更新:努力工作,热爱生活。