(原创)Arch Linux搭建SSH服务
来源:互联网 发布:mysql安装教程linux 编辑:程序博客网 时间:2024/05/22 12:48
以后的工作方向可能就在Linux服务器方面了,所以会更多研究些服务器方面的东西,开发就会少一些了。
需要安装的软件:openssl、openssh,这两个软件在core库中都有,直接用pacman安装即可。
安装完成之后开始配置SSH。编辑/etc/ssh/sshd_config文件,去掉一些注释修改一些值就行了,示例如附件中我的配置文件。
挑sshd_config文件中几个常用的选项稍微介绍一下,详细的说明可以man sshd_config来查看。
Port 一看就是开放的端口,可以更改端口,这样可以防止一些扫描软件的扫描,能略微增加一些安全性,但是连接的时候请指出连接端口,否则不能连上。
ListenAddress 用来指定监听IP,如果你的电脑上有多块网卡,可以用这个来指定一个网卡对应的IP。
Protocol 是指定SSH用的协议。SSH有两个协议,其中1被认为不安全,通常使用2。如果两个协议都要用,请在1和2之间用逗号分隔。
HostKey 系列用于指定主机私钥放置地址,可以看到有分别指定协议1和2。
KeyRegenerationInterval 是协议1中设置每隔一段时间重新建立一次公钥,以防止公钥被偷造成损失,实用协议2可以忽略这个参数。
ServerKeyBits 用于设置密钥长度,保持默认值。
SyslogFacility 是用于指定SSH的日志记录在什么daemon name下,默认的AUTH是指/var/log/secure。
LoginGaceTime 设置用户在连接上SSH时出现输入密码登录的画面的停留时间,时间单位为秒。
PermitRootLogin 指定是否允许root登录,SSH出于安全考虑默认是不允许root登录的,如果你非要允许就写yes吧,不过请设下更多安全策略来保护你的系统。
StrictModes 设置当用户的host key改变之后服务端就拒绝联机,可以抵挡部分木马。
MaxAuthTries 设置登录时密码尝试的最大次数,可以抵御居心不良者不停尝试密码。
MaxSessions 设置允许的最多同时连接数。
RSAAuthentication 选择是否使用纯RSA认证,这个设置只针对协议1。
PubkeyAuthentication 是否允许公钥,只针对协议2,这里要允许。
AuthorizedKeysFile 此处设置不需要密码登录的帐号,即这个帐号存放文件所在的文件名,很重要,文件名请牢记。
RhostsRSAAuthentication 专为协议1设置,实用rhosts文件在/etc/hosts.equiv配合RSA算法来认证,建议不使用。
HostbasedAuthentication 与上一个类似,不过专为协议2设置。
IgnoreUserKnownHosts 设置是否忽略默认目录内的~/.ssh/known_hosts文件中记录的主机内容,这里请不要忽略,设置为no。
IgnoreRhosts 忽略~/.ssh/.rhosts来认证,要取消。
PasswordAuthentication 密码验证,这当然是需要的,设置为yes。
PermitEmptyPasswords 是否允许以空密码登录,请设置为no来拒绝危险的空密码登录。
ChallengeResponseAuthentication 是否允许任何的密码认证,即任何login.conf规定的认证方式均可适用,不过还是通过PAM模块来管理认证比较合适一点,可以设置为no。
UsePAM 设置使用PAM来管理认证,建议设置为yes。
PrintMotd 设置登录后是否显示一些信息,即打印出/etc/motd文件的内容,考虑到安全可以设置为no。
PrintLastLog 设置登录时打印最后一次登录记录。
TCPKeepAlive 设置了yes的话服务端会传送KeepAlive信息给客户端以确保两者联机正常,有一端死掉的话SSH可以立刻知道并做出反应,避免僵尸程序。
UseLogin SSH下不接受login这个程序的登录。
UsePrivilegeSeparation 设置用户的权限,可以设为yes。
Compression 设置是否可以是用压缩命令,可以设置为yes。
PidFile 设置SSHD的pid文件放置位置。
MaxStartups 设置同时允许几个尚未登录的联机画面,就是指连接上之后还没输入密码登录时的状态,已经登录的不在这个限制中。
下面是Kerberos相关的设置,如果有Kerberos主机才需要设置,没有就不用了
KerberosAuthentication
KerberosOrLocalPasswd
KerberosTicketCleanup
KerberosGetAFSToken
下面两条是有关GSS的设置,不需要做什么
GSSAPIAuthentication
GSSAPICleanupCredentials
下面是关于X-window的设置,视个人情况来定
X11Forwarding
X11DisplayOffset
X11UseLocalhost
Subsystemsftp/usr/lib/ssh/sftp-server 这个是关于SFTP服务的设置,建议不要做更改。
设置完成之后就可以从远程登录了。
出于安全考虑,可以通过修改hosts.allow和hosts.deny文件来设置允许登录的IP及不允许登录的IP。
简单介绍一下通过hosts设置安全策略:
/etc/hosts.allow
加入下面格式的内容:
sshd:192.168.1.101, 192.168.1.102: allow
/etc/hosts.deny加入下面内容:
sshd : ALL : spawn (/bin/echo Security notice from host `/bin.hostname`;/
/bin/echo; /usr/sbin/safe_finger @%h ) | /
/bin/mail -s "%d -%h security" root@localhost & /
: twist (/bin/echo -e " WARNING connection not allowed.". )
当然,要执行这个操作还需要安装twisted包,这是一个异步网络框架的什么东西。
这样就允许了allow中的IP地址登录SSH,其他IP地址登录时将被拒绝。
如果你需要更安全的SSH,可以设置iptables搭建一个防火墙来保护你的主机。
以下是我的sshd_config文件,仅供参考!
- (原创)Arch Linux搭建SSH服务
- 【原创】远程管理linux系统---ssh服务
- linux服务搭建----ssh服务开启
- arch linux 时钟同步服务
- 【原创】windows/Linux通过ssh服务远程登录centos6.5
- [算是原创否?]Arch Linux 下的BRAS配置方法 (感谢hellwolf学长!)
- Arch Linux
- Arch Linux
- 【原创】JAVA 通过SSH访问Windows(或Linux)服务器
- 使用dropbear搭建ssh服务。
- CentOS7(linux)中ssh服务配置
- linux打开ssh服务
- linux开启ssh服务
- Linux 安装SSH服务
- linux启动ssh服务
- linux之ssh服务
- linux 启动ssh服务
- Linux开启ssh服务
- sdfsadfsadfs
- s60塞班程序的图标和中文名称
- 防止冲DockContent继承的窗体重复打开
- 暑假C语言学习总结之一
- NAND FLASH存储器的坏块管理
- (原创)Arch Linux搭建SSH服务
- 日语输入法的一些技巧和问题
- 暑假C语言学习总结之二
- asp 分页代码,asp简单分页代码
- 涡流系统测试之读文件画图模块
- android
- 查看数据库、表、索引的物理存储情况
- Cache4J--缓存策略
- 暑假C语言学习总结之三