本文共 4034 字,大约阅读时间需要 13 分钟。
一、SSH简介
二、ssh的客户端程序 三、sshd服务端配置一、SSH简介 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ssh [option] [[user@]host] [COMMAND] ssh [options] -l user host [ command ] 省略主机名:使用本地用户名,作为远程登录的用户名 -l login-name -p port,远程服务器的端口 -o options链接选项 // 使用-o覆盖指定配置文件中的定义 -X :支持x11转发 -Y:支持受信任的x11转发 -b :指定要使用的本地地址作为链接 // 假如s有acl,client可能有多个地址 -i identity_file: // 密钥对,可能有多个,指定本地密钥 默认:~/. ssh /id_rsa ,~/. ssh /id_dsa ,~/. ssh /id_ecdsa // 私钥 配置文件: /etc/ssh/ssh_config ,~/. ssh /config Host 192.168.4.1 |
SSH支持的认证方式: 基于口令认证: 基于密钥认证: 1.生成一个密钥对儿 ssh-keygen [-b bit] [-t type] //私钥可以不加密,也可以加密 2.ssh-copy-id 3.别名~/.ssh/config host mt 192.168.4.109 22 vim /etc/hosts 192.168.4.109 mt //能够解析 windows客户端:secret,xmanager(xshell),ssh,secureCRT,putty ssh-keygen
1 2 3 4 | -b bits // 默认2048bits -t type //dsa 密钥长度固定为1024bits,rsa,ecdsa 256 /384/512 ,默认rsa -f 指定输出保存位置,默认~/. ssh / -N 指定私钥加密密码 |
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''//加密密钥为空 id_dsa的权限必须是600 ssh-copy-id [-i 公钥] user@host -i 指定公钥 复制本地的id_rsa.pub的内容到server的~/.ssh/authorized_keys中 ssh-copy-id root@192.168.4.100 //可以不使用-i也可以 //注:只对当前主机当前用户有效,其他用户需要独立添加记录 scp:secure cp,跨主机安全文件传输的工具 scp [option] SRC.... DEST/ scp [options] SRC DEST 存在两种方式: PUSH:scp [option] /paht/to/from/somefile ... [user@]hostname://path/to/somewhere PULL:scp [option] [user@]hostname:/path/to/somefile... /path/to/somefile 从本地复制到远程,从远程复制到本地 -r:递归复制 -p:保存源文件的权限及从属关系 -q:静默模式 //可能会覆盖目标文件,建议慎用 -p port:端口 sftp:Openssh的一个子系统:sftp //远程登录目标主机,获取多个文件 sftp root@192.168.4.109 [-p port] help //查看帮助 lpwd lls //l开头的,都是本地命令,其他的都是远程主机上的 ftp:file transfer protocol,明文 安全传输机制: ftps:ftp over ssl sftp:ftp over ssh sftp: C/S S:由sshd服务进程实现,是ss的一个子系统,在CentOS上默认启用 C:sftp命令 三、sshd服务端配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #Port 22 //强烈建议,不要使用默认端口 #AddressFamily any #ListenAddress 0.0.0.0 //服务器可以监听多个地址,一个公网,一个私网,建议做vpn #ListenAddress :: #Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key // 主机密钥所在 ++++++++ #KeyRegenerationInterval 1h //每隔1h生成一次密钥,加密数据使用的对称密钥 SyslogFacility AUTHPRIV // 日志记录,SyslogFacility:日志设施,AUTHPRIV:表示记录于 /var/log/secure #LogLevel INFO //日志级别,大于等于该级别的都会被记录 #LoginGraceTime 2m 登录宽限期,等待client输入密码的时间 #PermitRootLogin yes 限制root用户远程登录 #AllowUsers user1 user2 ...;允许使用ssh服务的用户白名单 #AllowGroups grp1,grp2, #DenyUsers user1 user2 ..;拒绝使用ssh #当客户端连上服务器端后,若没有任何操作则,服务器端默认会,每隔一定时间发送一个alive消息给客户端寻求客户端应答,默认一共发三次.若都没有回应,则断开连其中 #ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接 #ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应 #HostbasedAuthentication no #禁用基于主机的身份验证 #ChrootDirectory /home/%u #使用 Chroot SSHD 将 SFTP 用户局限于其自己的主目录 #Compression {yes|no|delayed} #指令压缩,#默认是delayed 意思就是等到用户认证结束后再对数据进行压缩 #StrictModes yes #MaxAuthTries 6 尝试次数 #MaxSessions 10 最多保持会话 #RSAAuthentication yes 支持rsa的密钥认证 #PubkeyAuthentication yes 公钥认证 AuthorizedKeysFile . ssh /authorized_keys // 认证文件 PasswordAuthentication yes // 支持口令认证 ChallengeResponseAuthentication no // 不安全,建议关闭 PrintMotd yes #“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。 # Kerberos options //专用kerberous认证 UsePAM yes // 使用pam模块 X11Forwarding yes // 是否支持x11转发 关闭: #UseDNS yes //反解用户名,建立ssh链接的时候,有时候很慢,及时由于他 |
手册:
man_sshd_config man sshd
本文转自MT_IT51CTO博客,原文链接:http://blog.51cto.com/hmtk520/2061316,如需转载请自行联系原作者