标签:ssh scp sftp
ssh:Secure SHell
监听tcp协议的22号端口
ssh连接实现过程如图:
ssh版本:
sshv1 是基于CRC-32做MAC,因此,不安全,建议勿用;
sshv2 基于双方主机协商选择最安全的MAC实现机制;
加密机制及MAC机制是双方协商选定;
基于DH实现密钥交换,基于RSA或DSA实现身份认证;
户通过检查服务端的主机密钥来判定是否与其进一步通信;
配置过程:
1.生成密钥对
ssh-keygen -t rsa
-t指定算法:一般用rsa dsa
生成的私钥默认保存至当前家目录下的.ssh下的id_rsa,公钥在id_rsa.pub文件中
known_hosts :已识别的主机
authorized_keys :others id_rsa.pub
2.复制密钥至远程主机:ssh-copy-id -i 公钥文件 登陆用户@远程ip地址
[mike@nfs-server ~]$ ssh-copy-id -i .ssh/id_dsa.pub mike@192.168.1.221
服务器端:sshd
配置文件 /etc/ssh/sshd_config
服务脚本 /etc/rc.d/init.d/sshd
脚本配置文件:/etc/sysconfig/sshd
查看config文件的帮助 :man sshd_config
ListernAddress 0.0.0.0 监听但前主机 Protocol 2 协议版本 #HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key 验证主机的公钥 #HostKey /etc/ssh/ssh_host_dsa_key 验证主机的公钥 #KeyRegenerationInterval 1h 每隔1小时更换密钥的使用时间 #ServerKeyBits 1024 密钥长度 #LogLevel INFO 日志级别 #LoginGraceTime 2m 登陆宽限期 #PermitRootLogin yes root是否可以登录 #StrictModes yes 严格模式,家目录 属主 属组 #MaxAuthTries 6 最多可以密码出错承受的次数 #MaxSessions 10 最大的连接数 #RSAAuthentication yes 是否允许ras认证 #PubkeyAuthentication yes 是否允许公钥认证 #AuthorizedKeysFile .ssh/authorized_keys 认证密钥文件 PasswordAuthentication yes 是否使用用户名和密码的方式 ChallengeResponseAuthentication no 空密码登入 Kerberos 集中认证管理 GSSAPIAuthentication yes 基于gss api验证 邮件时候会用到 GSSAPICleanupCredentials yes 清除认证凭证 X11Forwarding yes 是否转发图形窗口 AllowUsers user1 user2 用户白名单 Allowgroups 组白名单 DenyUser 用户黑名单
用户登录信息获取
lastlog:显示用户最近一次的登录信息,成功的 /var/log/wtmp
lastb:显示用户登录的信息,并尝试失败的 /var/log/btmp
last: 用户成功登陆的日志信息
sftp:是基于ssh的ftp协议
[root@marco1 ~]# sftp root@172.16.178.136 sftp> put a /root/bb sftp> get a
scp:类cp命令,基于ssh协议跨主机复制
root@marco1 ~]# scp a root@172.16.178.138:~/ root@172.16.178.138‘s password: a 100% 4 0.0KB/s 00:00 [root@marco1 ~]# scp root@172.16.178.138:~/a ./ root@172.16.178.138‘s password: a 100% 4 0.0KB/s 00:00
-r: 源文件为目录时使用,以实现递归复制
-p: 保留源文件的复制及修改时间戳,以及权限;
-q: 静默模式
-P PORT:指定服务端端口;
标签:ssh scp sftp
原文地址:http://9173436.blog.51cto.com/9163436/1774751