您的位置:首页 > 运维架构 > Linux

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

2017-07-13 17:33 393 查看

学习笔记随手记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_por
af62
t_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


如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息