使用ssh远程登录linux

ssh侦听的端口是22

使用密钥验证进行远程连接:

  • 生成密钥对

  • 复制公钥到Linux

    • 创建目录:mkdir /root/.ssh 

    • 创建公钥文件:vi /root/.ssh/authorized_keys

    • 更改目录权限:chmod 700 /root/.ssh 

    • 更改公钥文件权限:chmod 600 /root/.ssh/authorized_keys

  • 临时关闭SeLinux和清空netfilter(iptables)策略

    • setenforce 0 (/etc/selinux/config SELINUX=disabled)

    • iptables -F (service iptables save)

  • 设置远程连接工具使用密钥登录


限制远程登录的IP

只允许 192.168.0.1 和 192.168.0.10 登陆,其他全部禁止

vim   /etc/hosts.allow
sshd: 192.168.0.1, 192.168.0.10
vim  /etc/hosts.deny
sshd:  ALL
禁止192.168.0.1登陆,其他全部放行

vim /etc/hosts.deny

sshd: 192.168.0.1

当有人请求远程登录,系统会先将该请求IP与hosts.allow匹配,匹配通过则允许登录,否则会接着去匹配hosts.deny,匹配到则拒绝登录,否则允许登录,也就是说如果在hosts.allow和hosts.deny中均无匹配,则允许登录。


不允许root账户通过远程直接登录(只限ssh,在终端通过su可以登录)Linux系统时,可将/etc/ssh/sshd_config文件中的“#PermitRootLogin yes”这句话改为“PermitRootLogin no”,然后重启sshd服务service sshd restart;或者限制root账户不能通过口令只能使用密钥登录,可将其改为PermitRootLogin without-password,然后重启sshd服务。


如果不想所有用户通过口令密码登录,可将“PasswordAuthentication yes”改为“PasswordAuthentication no”,然后重启sshd服务。


你可能感兴趣的:(linux,ssh,root)