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
如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。
相关文章推荐
- CentOS 7.1下SSH远程登录服务器详解-转
- Linux(centos7.1)的SSH远程登录服务器详解
- CentOS7 SSH远程登录服务器详解
- CentOS下SSH远程免密登录服务器
- 配置Centos服务器SSH远程登录秘钥
- centos7 ssh远程登录服务器
- CentOS SSH远程登录服务器
- Linux实现利用SSH远程登录服务器详解
- ssh 远程登录 服务器 免密码 详解
- SSH远程登录CentOS服务器
- SSH远程登录详解
- Ubuntu下通过SSH远程登录服务器的方法
- mac 通过 终端 ssh 远程连接 centos 服务器
- Ubuntu下通过SSH远程登录服务器的方法
- Ubuntu学习笔记:通过ssh远程登录服务器
- mac 通过 终端 ssh 远程连接 centos 服务器
- centos ssh无密码登录 详解 不需要密码 多台相互 linux
- 在mac上使用ssh登录远程服务器
- Ubuntu下通过SSH远程登录服务器的方法