1.ssh和telnet的区别
telnet:TCP/23
缺陷:认证过程是明文
数据传输明文
ssh: Secure SHell, TPC/22
认证和数据传输都是加密的,属于C/S架构
ssh --> SSH(商业)
OpenSSH(开源)
客户端
Linux: ssh
Windows: putty,SecureCRT(商业),SSHSecureShellClient,Xmanager
服务器端:
sshd
2.openssh是ssh的开源实现
openssh (ssh,sshd)
ssh(/etc/ssh_config)
sshd(/etc/sshd_config)
/etc/ssh 目录结构
目前的CentOS都只支持ssh v2:
ssh_host_{dsa/ecdsa/ed25519/rsa}_{key}.pub
服务端配置文件
/etc/sshd_config
配置文件中的参数:
Port 监听端口
ListenAddress 监听地址
LoginGraceTime 最多等待多长时间登陆
MaxAuthTries 最多错误次数
MaxSessions 最多连接数
注意:ssh配置修改后需要重启服务
/etc/ssh_config
1.基于口令的认证:
ssh -i USERNAME REMOTE_HOST ['COMMAND
-p
-X
-Y
2.基于密钥的认证:
客户端主机:
1.生成一堆密钥
ssh-keygen -t {rsa|dsa..} [-f output_keyfile] [-p PORT]
2.将公钥传输至服务器端某用户的家目录下的.ssh/authorized_keys文件中
使用文件传输工具传输(ssh-copy-id,scp)
scp {options} SRC DEST
-r
-p
-a
sftp SRC DEST (服务器之间只要支持ssh,且配置中支持sftp即可以直接用sftp链接)
ssh-copy-id -i pubkey_file USERNAME@HOSTNAME
3.测试登陆
安全要点:
1.密码应该经常换
2.使用非默认端口
3.限制客户端登陆地址
4.禁止管理员登陆
5.仅允许有限制用户登陆
6.使用基于密钥的认证