学习笔记随手记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
如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。