阅读 81

sshd服务器端口号,ssh工具

shd服务包openssh-server

ssh-secure shell安全壳连接

功能:加密方式远程连接ssh实现远程连接的软件

linux:openssh-clients

windows:xmanagerxshellputtysecurecrt

默认端口和协议

tcp/udp 22

环境:

server 192.168.1.251 server.up.com

client 192.168.1.250 client.up.com

通常,在安装操作系统时默认安装ssh。

一.验证程序包中是否安装了rpm -qa | grep openssh

OpenSSH-server-6.6.1 P1-31.el7.x86 _ 64 #服务器端程序包

OpenSSH-clients-6.6.1 P1-31.el7.x86 _ 64 #客户端包

二.服务器端配置文件vim /etc/ssh/sshd_config

17 #Port 22 #默认端口22

18 #AddressFamily any #支持任何地址群集(ipv4/ipv6 )

19 #ListenAddress 0.0.0.0 #按任意ipv4地址侦听

20 #ListenAddress : #按任意ipv6地址侦听

23 #Protocol 2 #协议版本

43用于定义43 SyslogFacility AUTHPRIV #日志的对象

44 #LogLevel INFO #定义日志级别

48 #LoginGraceTime 2m #连接将在两分钟内不输入密码的情况下断开

49 #PermitRootLogin yes #允许管理员进行根登录

50 #严格模式

51 #MaxAuthTries 6 #最多6次尝试

52 #MaxSessions 10 #最多允许10集

78 #PermitEmptyPasswords no #密码为空,无法登录

79密码验证是#是否采用密码验证

打开15 X11转发是# X11传输协议

127 #ClientAliveCountMax 3 #客户端连接服务器尝试输入密码的次数

129 #Usedns yes #采用DNS分析

130 # pidfile/var/run/sshd.PID # PID文件的位置

检查网络连接状态: [ root @ server.ssh ] # netstat-tuanp|grep sshd

TCP 00.0.0.0:220.0.0.0: * listen 32057/sshd

-a(all )显示所有选项

-t tcp协议

-u udp协议

- l监听器

-n显示为数字且不分析

-p进程名称

[ root @ server.ssh ] # lsof-I :22

返回的内容表示服务正在侦听

Usedns yes如果在缺省情况下启用dns查询来解析dns,则会导致连接服务器延迟。 将此值更改为no可以消除延迟

指纹存储在客户端上的/root/.ssh/known_hosts

在不启用指纹的情况下将/etc/ssh/ssh_config放入客户端配置文件中

严格检查否

ssh的基本使用守护进程: sshd

# systemctl start sshd

#系统重新开始sshd

#显示系统状态sshd服务的状态

远程登录

指定用户id的远程登录

不登录远程执行命令

远程拷贝

1、远程登录[root@localhost~~]# ssh 192.168.1.250 theauthenticityofhost ' 192.168.1.250 (192.168.1.250 ) (168.1.250 ) ) ) 033: ef :76:42:336012:12: da : aa : f 93360 6096.areyousureyouwanttocontinueconnecting (yes/no )? yes #表示您是第一次连接到此主机,指纹信息warning : permanently added ' 192.168.1.250 ' (ECD sa ) tothelistofknownhosts.root @ 192.168.1.250 ' spa arning询问是否要保存远程主机密码1 )退出远程登录(root@server(# ) exit2)已知的主机列表文件------存储指纹的文件(root@localhost ) (#CD/root/.ssh/) root@localhost ) ) CD/RO

sh]# lsknown_hosts文件是~/.ssh/known_hosts如果遇到以下错误的话:是由于指纹信息对不上导致的[root@localhost .ssh]# ssh 192.168.1.250key_from_blob: remaining bytes in key blob 108key_read: type mismatch: encoding errorkey_from_blob: remaining bytes in key blob 108key_read: type mismatch: encoding error@qpdwg: REMOTE HOST IDENTIFICATION HAS CHANGED! jqdsh@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that a host key has just been changed.The fingerprint for the ECDSA key sent by the remote host is62:4c:4d:13:e9:a2:7d:cc:a8:0a:43:0d:12:9c:c0:ae.Please contact your system administrator.Add correct host key in /root/.ssh/known_hosts to get rid of this message.Offending ECDSA key in /root/.ssh/known_hosts:2ECDSA host key for 192.168.1.250 has changed and you have requested strict checking.Host key verification failed.如何解决上述错误:(二选一即可) a)删除known_hosts文件中与该ip相对应的行 b)清空known_hosts文件 [root@localhost .ssh]# > known_hosts 2、指定用户身份登陆 前提:远程主机上需要存在该用户1)在远程主机上添加一个用户,并设置密码----192.168.1.250[root@server ~]# useradd jim[root@server ~]# echo "jim" | passwd --stdin jim更改用户 jim 的密码 。passwd:所有的身份验证令牌已经成功更新。2)连接-------192.168.1.250[root@localhost ~]# ssh jim@192.168.1.250 jim@192.168.1.250's password:jim Last login: Fri Jun 30 14:43:07 2017[jim@server ~]$ exit登出Connection to 192.168.1.250 closed. 3、不登陆远程执行命令 [root@localhost ~]# date ; ssh 192.168.1.250 date2017年 07月 12日 星期三 13:01:26 CST[root@192.168.1.250's password: 2017年 07月 12日 星期三 11:36:25 CST[root@localhost ~]# ssh 192.168.1.250 reboot 4、图形化ssh连接 -X # ssh 192.168.1.250 xeyes #打不开root@192.168.1.250's password: Error: Can't open display:[root@localhost ~]# ssh -X 192.168.1.250 xeyes root@192.168.1.250's password: 能够打开远程主机上xeyes程序 5、远程拷贝 scp [-r] 源 目的1)本地文件拷贝给远程主机 上传[root@localhost ~]# echo 192.168.1.251 > /tmp/test.txt[root@localhost ~]# cat /tmp/test.txt192.168.1.251[root@localhost ~]# scp /tmp/test.txt 192.168.1.250:/root/desktop/root@192.168.1.250's password: test.txt 100% 14 0.0KB/s 00:002)远程主机文件拷贝到本地 下载[root@localhost ~]# scp 192.168.1.250:/root/desktop/dianming.sh /tmproot@192.168.1.250's password: dianming 100% 150 0.2KB/s 00:00 [root@localhost ~]# ls /tmp/dianming.sh /tmp/dianming.sh常用选项: -r 拷贝目录 -p port:指定端口 更改端口设置[root@server ~]# vim /etc/ssh/sshd_config Port 2000[root@server ~]# systemctl reload sshd[root@server ~]# netstat -tulnp | grep sshdtcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 27227/sshd tcp6 0 0 :::2000 :::* LISTEN 27227/sshd指定端口登陆[root@localhost ~]# ssh -p 2000 192.168.1.250 基于密钥的连接:实现的是不输入密码登陆远程主机 是相对于用户来说的,不需要输入密码的

ssh采用的是基于公钥和私钥的加密技术进行自动化认证。

如果客户端连接服务器无密码。客户端上需要生成一对密钥,公钥传给服务器,那么服务器收到公钥,客户端连接服务器就不需要密码。

客户端配置 1.生成密钥

[root@localhost ~]# ssh-keygen

密钥位置[root@localhost ~]# cd /root/.ssh/[root@localhost .ssh]# lsid_rsa id_rsa.pub known_hostsid_rsa 私钥id_rsa.pub 公钥known_hosts 已知主机,存指纹的文件 2.发送公钥给服务器 [root@localhost .ssh]# ssh-copy-id -i 192.168.1.250 3.测试客户端连接服务器不需要密码 [root@localhost .ssh]# ssh 192.168.1.250Last login: Wed Jul 12 14:29:27 2017 from 192.168.1.251[root@server ~]# exit登出Connection to 192.168.1.250 closed.

服务器会将客户端的公钥保存在authorized_keys 文件中
[root@server ~]# cd /root/.ssh/
[root@server .ssh]# ls
authorized_keys known_hosts

常见错误: 1.ssh连接出错 检测是否有ip地址检测服务器和客户端是否能ping通检测网卡连接方法 2.做双机互信。连接仍然还有密码 服务端# 清空此authorized_keys文件内容客户端# ssh-add 密钥传送失败用此命令# cd /root/.ssh# rm -rf id*# 重新做密钥重新发送 3.指纹验证不正确 删除known_hosts文件中对应的ip的指纹

凡是支持tcpwrapper的都可以使用以下两个文件做访问控制:
/etc/hosts.allow
/etc/hosts.deny

ldd which sshd|grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f598bc08000)
注:如果可以搜寻到就是支持访问控制

先看allow,如果有,直接放行;
如果没有,再看deny,如果有,则拒绝,如果没有,则放行

例: 只允许192.168.1.250连接
#cat /etc/hosts.allow
sshd:192.168.1.250

cat /etc/hosts.deny
sshd:* # *表示所有. 还可以写网段,如:192.168.1.0/24


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐