linux之ssh命令
ssh命令用于远程登录上Linux主机。
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细的可以用ssh -h查看。
不指定用户:
ssh 192.168.0.11
指定用户:
ssh -l root 192.168.0.11
ssh root@192.168.0.11
如果修改过ssh登录端口的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 216.230.230.114
ssh -p 12333 root@216.230.230.114
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。
编辑配置文件:
vim /etc/ssh/sshd_config
找到#Port 22,去掉注释,修改成一个五位的端口:
Port 12333
找到#PermitRootLogin yes,去掉注释,修改为:
PermitRootLogin no
重启sshd服务:
service sshd restart
默认配置文件和SSH端口
/etc/ssh/sshd_config:OpenSSH服务器配置文件;
/etc/ssh/ssh_config:OpenSSH客户端配置文件;
~/.ssh/:用户SSH配置目录;
~/.ssh/authorized_keys:用户公钥(RSA或DSA);
/etc/nologin:如果存在这个文件,sshd会拒绝除root用户外的其它用户登录;
/etc/hosts.allow和/etc/hosts.deny:定义tcp-wrapper执行的访问控制列表;
SSH默认端口:22
1、禁用OpenSSH服务器
工作站和笔记本电脑可以不用OpenSSH服务器,如果你不需要提供SSH远程登录和文件传输功能,可以禁用并删除SSHD服务器,CentOS / RHEL / Fedora Linux用户可以使用下面的yum命令禁用和删除openssh-server:
# chkconfig sshd off
# yum erase openssh-server
Debian / Ubuntu Linux用户可以使用下面的apt-get命令禁用和删除openssh-server:
# apt-get remove openssh-server
你可能需要更新你的iptables脚本,移除ssh例外规则,在CentOS / RHEL / Fedora下,打开etc/sysconfig/iptables和/etc/sysconfig/ip6tables文件,删掉与ssh相关的例外规则,然后使用下面的命令重启iptables:
# service iptables restart
# service ip6tables restart
2、只使用SSH v2
打开sshd_config配置文件,如果没有就增加下面这一行设置:Protocol 2
3、限制用户的SSH访问
假设我们只要root,vivek和jerry用户能通过SSH使用系统,向sshd_config配置文件中添加:AllowUsers root vivek jerry
另外,你还可以允许所有用户通过SSH登录,但拒绝一部分用户,这时就需要向sshd_config配置文件中添加:DenyUsers saroj anjali foo
4、配置空闲超时退出时间间隔
sshd_config配置文件,确保有如下的配置项:
ClientAliveInterval 300
ClientAliveCountMax 0
上面的例子设置的空闲超时时间间隔是300秒,即5分钟,过了这个时间后,空闲用户将被自动踢出出去(可以理解为退出登录/注销)。
5、禁用.rhosts文件
不要读取用户的~/.rhosts和~/.shosts文件,使用下面的设置更新sshd_config配置文件:
IgnoreRhosts yes
6、禁用基于主机的身份验证
HostbasedAuthentication no
7、禁用root通过SSH登录
PermitRootLogin no
8、启用警告横幅
Banner /etc/issue
8、防火墙SSH端口:22
更新/etc/sysconfig/iptables(Red Hat及基于Red Hat的系统)文件,只接受来自192.168.1.0/24和202.54.1.5/29的连接,配置如下:
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -s 202.54.1.5/29 -m state --state NEW -p tcp --dport 22 -
9、使用TCP Wrapper
TCP Wrapper是一个基于主机的网络ACL系统,用于过滤到互联网的网络访问,OpenSSH支持TCP Wrapper,只需要更新你的/etc/hosts.allow文件,下面的例子表示仅允许来自192.168.1.2 和172.16.23.12的ssh访问:
192.168.1.2 172.16.23.12 |
关于如何在Linux / Mac OS X 和UNIX类操作系统上安装和配置TCP Wrapper,请访问http://www.cyberciti.biz/faq/tcp-wrappers-hosts-allow-deny-tutorial/。
10、禁用空密码
你需要明确禁止密码为空的用户远程登录,使用下面的设置更新sshd_config配置文件:
|
PermitEmptyPasswords no |
11、使用日志分析器
使用logwatch或logcheck读取你的日志,这些工具让你更容易阅读日志内容,它们可以遍历给定时间范围内的日志,并生成明了的报告,请确保sshd_config配置文件中将LogLevel设置为INFO或DEBUG了。
LogLevel INFO |
Other
# 开启特权隔离
UsePrivilegeSeparation yes
# 防止使用不安全的home目录和密钥权限
StrictModes yes
# 开启反向名称检查
VerifyReverseMapping yes
# 设置是否需要端口转发
AllowTcpForwarding no
X11Forwarding no
# 指定是否允许密码验证,默认是yes
PasswordAuthentication no
最后警告大家,在重启或重新载入修改之前,先使用下面的命令验证一下sshd_config配置文件是否无误:
| # /usr/sbin/sshd -t |
linux之ssh命令的更多相关文章
- Linux 使用 ssh 命令远程连接另一台 Linux
用 Linux 系统的 ssh 命令远程连接另一台 Linux 机器的命令 #ssh 用户名@主机名(IP地址) 例: #ssh root@10.41.24.138 ...
- linux的ssh命令
转自:http://man.linuxde.net/ssh ssh命令 网络安全 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器. 语法 ssh(选项 ...
- Linux下SSH命令使用方法详解(摘自网络)
备注:检查自己的linux系统中是否已经安装了某一些软件的命令: rpm -qa | grep 软件名 例如 rpm -qa | grep vsftpd 1.查看SSH客户端版本 有的时候需要确认 ...
- 【Linux】ssh命令行下多任务前后台切换
原文:https://my.oschina.net/huxuanhui/blog/13844 我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务.而不能让 ...
- linux scp ssh命令不用输入密码
把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中 假设本地主机linux100,远程主机linux200 一,在linux100主机里的用户 运 ...
- linux 学习之七-部分ssh命令
ssh命令 /etc/init.d/sshd restart|start|stop 重启|开始|关闭SSH的服务 ssh IP地址 连接SSH Linux scp命令用于Linux之间复制文件和目 ...
- 解Linux SSH命令大全,新手必看SSH命令
下面介绍一些基本的常用的Linux SSH命令,都是一些很简单的Linux SSH命令,新手掌握了这几个,一般管理一般的vps或者linux主机就可以了! 我们的教程介绍了putty的使用方法 ...
- Linux ssh命令详解
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ...
- Linux ssh命令
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ...
随机推荐
- 团队Alpha版本(五)冲刺
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- CodeForces C. Maximal Intersection
http://codeforces.com/contest/1029/problem/C You are given nn segments on a number line; each endpoi ...
- 洛谷 P3765 总统选举 解题报告
P3765 总统选举 题目背景 黑恶势力的反攻计划被小C成功摧毁,黑恶势力只好投降.秋之国的人民解放了,举国欢庆.此时,原秋之国总统因没能守护好国土,申请辞职,并请秋之国人民的大救星小C钦定下一任.作 ...
- HDU5187 zhx's contest
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...
- RQNOJ123_多人背包_C++_Pascal
题目:http://www.rqnoj.cn/problem/123 不得不说,RQNOJ 的机子跑得好慢呀,5*107 的数据范围本地跑 0.2s,服务器上愣是把我卡掉了,最后只好写了一份 Pasc ...
- git 之gitignore 添加项之后生效的问题
.gitjignore 文件是在团队项目中上传到云端的的规则文件,主要是写些规则过滤掉某些文件夹或者文件 一,过滤规则 由于我用webstrom 通常会生成一些日志文件 /.idea/ 过滤整个文 ...
- 【CString与string转换】不存在从 "LPWSTR" 转换到 "std::basic_string<char, std::char_traits<char>, std::allocator(转)
原文转自 http://blog.csdn.net/qq_23536063/article/details/52291332 [问题描述] CString cstr: sring str(cstr.G ...
- 详解利用ShoeBox制作位图字体
http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts?utm_source=tui ...
- MFC数据类型转换 _itoa atoi、atof、itoa、itow _itoa_s
_itoa 功能:把一整数转换为字符串 用法:char * _itoa(int value, char *string, int radix); 详细解释: _itoa是英文integer to ar ...
- android hook 框架 libinject 如何实现so注入
前面两篇 android hook 框架 libinject2 简介.编译.运行 android hook 框架 libinject2 如何实现so注入 实际运行并分析了 Android中的so注入( ...