CentOS 7下SSH远程登录服务器详解

学习笔记随手记1

查看ssh是否启动

netstat –anlpt | grep 22

如果提示没有 netstat则执行下面的步骤 安装netstat工具

yum instatll net-tools –y    

启动ssh

systemctl start sshd

查看22端口是否开放

netstat -tnl

查看ssh服务是否启动

systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2017-07-13 17:05:05 CST; 22min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 5847 (sshd)
   CGroup: /system.slice/sshd.service
           └─5847 /usr/sbin/sshd -D

 active (running) 说明已经启动 

SSH客户端连接服务器(秘钥认证)

秘钥认证步骤:
生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面(注意 生成秘钥要在自己的电脑上 不是在服务器上)
我的是苹果电脑所以在/Users/adorable_ly/.ssh/中

 ssh-keygen

输入上术命令后会在终端中看到以下信息

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/adorable_ly/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/adorable_ly/.ssh/id_rsa.
Your public key has been saved in /Users/adorable_ly/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Bm41NjjKbpx3lYpd7eaSvjF7KBzjjKZLrbV5oESyT2k adorable_ly@MJwushen.local
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|       .         |
|      + =        |
|  ...o = o o     |
|   +o.o S + .    |
|  .oE+.+o+ .     |
|   =*.=*+oooo    |
|   oo+o+* +*.    |
|    ++o. o++.    |
+----[SHA256]-----+

把生成的公钥发送到对方的主机上去,用ssh-copy-id命令,自动保存在对方主机的/root/.ssh/authorized_keys 文件中去

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.142.84

其中/root/.ssh/目录 就是上一步保存秘钥的目录

ssh-copy-id -i /Users/adorable_ly/.ssh/id_rsa.pub root@192.168.31.225

这是我在苹果上的路径 每个人的都不一样 注意区分
如果提示 没有这样的目录 解决办法是直接在 id_rsa.pub 所在目录下新建一个id_rsa 文件夹 即可

192.168.31.225为服务器的ip
将会看到如下信息

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
root@192.168.142.84’s password:
Hello world

Number of key(s) added: 1

Now try logging into the machine, with: “ssh >’root@192.168.142.84’”
and check to make sure that only the key(s) you wanted were added.

再次使用 ssh root@192.168.31.225 就可以实现免密码登录了

CentOS7增加或修改SSH端口号

第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)

vim /etc/ssh/sshd_config  

找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成:
Port 22
Port 10086
修改端口时候最好挑10000~65535之间的端口号
第二步:如果你关闭了SELinux,可以忽略第二步。
先查看SELinux开放给ssh使用的端口

semanage port -l|grep ssh  

我的系统打印如下:
ssh_port_t tcp 22
可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:

semanage port -a -t ssh_port_t -p tcp 10086  

完成后,再次查看

semanage port -l|grep ssh  

ssh_port_t tcp 22,10086
第三步:如果你关闭了防火墙,可以忽略第三步
开放10086端口:

firewall-cmd --zone=public --add-port=10086/tcp --permanent

打印结果如下:
success
重新加载防火墙策略:

firewall-cmd --reload

执行成功后,查看10086端口是否被开启:

firewall-cmd —permanent --query-port=10086/tcp  

打印结果如下:
yes
第四步:重启SSH服务和防火墙

systemctl restart sshd  
systemctl restart sshd  

第五步,尝试用10086登录SSH,或者进入该服务器直接本地访问SSH如下:
用22端口已经登不进去了

ssh root@localhost -p 10086  

CentOS7防火墙改为firewalld了,而不是iptables,对应的命令也请百度下

查看某端口是否被占用,以10086为例:
查看某端口是否被占用,以10086为例:

netstat -lnp|grep 10086  

如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值