前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux环境下ssh的安装及使用

Linux环境下ssh的安装及使用

作者头像
AlicFeng
发布2019-02-22 09:47:58
3.1K0
发布2019-02-22 09:47:58
举报

前言:SSH(全称 Secure Shell)是一种加密的网络协议。使用该协议的数据将被加密,即使在传输中间数据泄漏,也可以确保没有人能读取出有用信息。SSH 是基于客户-服务模式的。 当你想安全的远程连接到主机,可中间的网络(比如因特网)并不安全,通常这种情况下就会使用 SSH。


****安装ssh客户端****

代码语言:javascript
复制
sudo apt-get install ssh

或者

代码语言:javascript
复制
sudo apt-get install openssh-client    #推荐

****安装ssh服务端****

代码语言:javascript
复制
sudo apt-get install openssh-server

****改变ssh服务器端的状态****

代码语言:javascript
复制
sudo service ssh start    #开启
代码语言:javascript
复制
sudo service ssh stop     #停止
代码语言:javascript
复制
sudo service ssh restart    #重启

****SSH连接常用命令****

代码语言:javascript
复制
ssh 172.16.168.111    #无参数运行ssh
代码语言:javascript
复制
ssh alic@172.16.168.111    #指定用户
代码语言:javascript
复制
ssh alic@172.16.168.111 -p 22    #指定端口
代码语言:javascript
复制
ssh -i privateKey.file alic@172.16.168.111     #引用秘钥文件

****修改sshd_config配置文件****

代码语言:javascript
复制
sudo nano /etc/ssh/sshd_config

****SSH基础设置****


  • Port 22 端口设置:SSH 预设使用 22 这个 port,您也可以使用多的 port

  • Protocol 2,1 版本设置:选择的 SSH 协议版本,可以是 1 也可以是 2

  • ListenAddress 0.0.0.0 监听的主机适配卡设置:默认为任何回环地址,ListenAddress:192.168.0.100

  • PrintMotd no 登入后是否显示出一些信息呢?例如上次登入的时间、地点等,预设是 yes ,但是,如果为了安全,可以考虑改为 no !

  • PrintLastLog yes      显示上次登入的信息!可以啊!预设也是 yes !

  • KeepAlive yes       一般而言,如果设定这项目的话,那么 SSH Server 会传送KeepAlive 的讯息给 Client 端,以确保两者的联机正常!在这个情况下,任何一端死掉后, SSH 可以立刻知道!而不会有僵尸程序的发生!

  • UsePrivilegeSeparation yes 使用者的权限设定项目,就设定为 yes

  • MaxStartups 10       同时允许几个尚未登入的联机画面?当我们连上 SSH ,但是尚未输入密码时,这个时候就是我们所谓的联机画面啦!在这个联机画面中,为了保护主机,所以需要设定最大值,预设最多十个联机画面,而已经建立联机的不计算在这十个当中

  • PidFile /var/run/sshd.pid 可以放置 SSHD 这个 PID 的档案!左列为默认值

  • LoginGraceTime 600 当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,在多久时间内没有成功连上 SSH server ,时间为秒!

  • Compression yes 是否允许使用压缩指令

  • HostKey /etc/ssh/ssh_host_key     SSH version 1 使用的私钥

  • HostKey /etc/ssh/ssh_host_rsa_key   SSH version 2 使用的 RSA 私钥

  • HostKey /etc/ssh/ssh_host_dsa_key   SSH version 2 使用的 DSA 私钥

  • KeyRegenerationInterval 3600      由前面联机的说明可以知道, version 1 会使用

  • PermitRootLogin no      是否允许 root 登入!预设是允许的,但是建议设定成 no!

  • UserLogin no        在 SSH 底下本来就不接受 login 这个程序的登入!

  • StrictModes yes 当使用者的 host key 改变之后,Server 就不接受联机,              可以抵挡部分的木马程序!

  • RSAAuthentication yes   是否使用纯的 RSA 认证!仅针对 version 1

  • PubkeyAuthentication yes  是否允许 Public Key ?当然允许啦!只有 version 2

  • AuthorizedKeysFile .ssh/authorized_keys              上面这个在设定若要使用不需要密码登入的账号时,那么那个              账号的存放档案所在档名!

****SSH认证部分****


  • RhostsAuthentication no 本机系统不止使用 .rhosts ,因为仅使用 .rhosts 太              不安全了,所以这里一定要设定为 no !

  • IgnoreRhosts yes      是否取消使用 ~/.ssh/.rhosts 来做为认证!当然是!

  • RhostsRSAAuthentication no 这个选项是专门给 version 1 用的,使用 rhosts 档案在              /etc/hosts.equiv配合 RSA 演算方式来进行认证!不要使用

  • HostbasedAuthentication no 这个项目与上面的项目类似,不过是给 version 2 使用的!

  • IgnoreUserKnownHosts no   是否忽略家目录内的 ~/.ssh/known_hosts 这个档案所记录              的主机内容?当然不要忽略,所以这里就是 no 啦!

  • PasswordAuthentication yes 密码验证当然是需要的!所以这里写 yes 啰!

  • PermitEmptyPasswords no   若上面那一项如果设定为 yes 的话,这一项就最好设定              为 no ,这个项目在是否允许以空的密码登入!当然不许!

  • ChallengeResponseAuthentication yes 挑战任何的密码认证!所以,任何 login.conf                    规定的认证方式,均可适用!

  • PAMAuthenticationViaKbdInt yes 是否启用其它的 PAM 模块!启用这个模块将会                   导致 PasswordAuthentication 设定失效!

****关于使用者抵挡的设定项目****

  • DenyUsers *        设定受抵挡的使用者名称,如果是全部的使用者,那就是全部挡吧!若是部分使用者,可以将该账号填入!例如下列!

  • DenyUsers testDenyGroups test      与 DenyUsers 相同!仅抵挡几个群组而已!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.04.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档