本文目录:
- 1、CentOS修改ssh端口号及ssh免密码登录
- 2、centos怎么配置ssh免密码?
- 3、centos中使用ssh怎样使用
- 4、CentOS7 SSH免密码登录和关闭密码登录
- 5、linux centos ssh 怎么使用
- 6、2019-04-26 CentOS SSH 密码正确,但仍提示“Permission denied”
CentOS修改ssh端口号及ssh免密码登录
一般ssh的默认端口为22
比如正常使用终端登录局域网电脑
注意是 sshd_config 文件
在#Port 22行去掉#号注释,同时加入想要使用的端口号如 Port 22438
这里保留22端口是为了防止当前无法使用ssh登录
成功返回success
重启防火墙:
成功返回success
查看添加端口是否成功,成功则显示yes,否则为no:
查看本机SELinux状态,如果是关闭则可以跳过此步骤
以下使用semanage操作,没有可以使用以下命令安装:
以下命令为查看当前SELinux允许的ssh端口:
添加22438端口到SELinux,并确认
测试新端口ssh连接
可以正常登录即成功
将之前开放的Port 22一行注释掉并保存
然后重启ssh
使用以下命令无法登录服务器
本机终端输入:
配置相关全部直接回车
在~/.ssh/目录下生成两个文件
在本机终端输入:
在本机将认证文件复制到服务器
如果服务器上没有文件夹就新建一个.ssh/文件夹
Enjoy
centos怎么配置ssh免密码?
#环境说明\x0d\x0a客户机:Mac OS X\x0d\x0a服务器:CentOS 6.5\x0d\x0a客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本.\x0d\x0a\x0d\x0a#大致流程\x0d\x0a1.在客户机创建一对密钥文件,包括公钥文件(~/.ssh/id_rsa.pub),私钥文件(~/.ssh/id_rsa).\x0d\x0a\x0d\x0a2.把公钥放到服务器上(~/.ssh/authorized_keys),在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以自动登录了。\x0d\x0a\x0d\x0a#客户机配置\x0d\x0a1.查看~/.ssh文件夹,若已经存在有公钥文件(id_rsa.pub),私钥文件(id_rsa),则可以跳过客户端配置.\x0d\x0a\x0d\x0a2.生成密钥文件.\x0d\x0a$ ssh-keygen \x0d\x0a然后一路回车.\x0d\x0a然后~/.ssh下会生成id_rsa.pub和id_rsa, 其中id_rsa文件起到唯一标识你的客户机的作用.\x0d\x0a注意:不要改这两个文件的文件名,ssh登陆时会读取id_rsa文件.\x0d\x0a\x0d\x0a#服务器配置\x0d\x0a1.修改sshd配置文件(/etc/ssh/sshd_config).\x0d\x0a找到以下内容,并去掉注释符”#“\x0d\x0a=========================\x0d\x0aRSAAuthentication yes\x0d\x0aPubkeyAuthentication yes\x0d\x0aAuthorizedKeysFile .ssh/authorized_keys\x0d\x0a=========================\x0d\x0a\x0d\x0a2.配置authorized_keys文件.\x0d\x0a若’~/.ssh/authorized_keys’不存在,则建立.ssh文件夹和authorized_keys文件.\x0d\x0a将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.\x0d\x0aPS:可以在客户机中执行命令来拷贝:\x0d\x0acat ~/.ssh/id_rsa.pub | ssh user@host “cat - ~/.ssh/authorized_keys”\x0d\x0a\x0d\x0a注意:\x0d\x0a1) .ssh目录的权限必须是700\x0d\x0a2) .ssh/authorized_keys文件权限必须是600 \x0d\x0a\x0d\x0a3.重启sshd.\x0d\x0a$ /etc/init.d/sshd restart\x0d\x0a\x0d\x0a#测试\x0d\x0a客户机执行:ssh -v user@host (-v 调试模式)\x0d\x0a会显示一些登陆信息.\x0d\x0a若登陆失败,或者仍然要输入密码,可以在服务器查看日志文件:/var/log/secure.\x0d\x0a\x0d\x0a若登陆成功,则以后就可以用’ssh user@host’ 直接登陆了,不用输入密码.
centos中使用ssh怎样使用
ssh是linux系统中一个常用的远程管理工具了,比ftp要强大的我,下面小编来给大家在centos中ssh配置方法吧,希望此教程对各位同学会有所帮助。
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。
传
统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人
(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据
传给真正的服务器。
而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。
系统及版本:CentOS release 5.3 (Final)
安装SSH
yum install ssh
启动SSH
service sshd start
设置开机运行
chkconfig sshd on
SSH相关配置文件的修改
首先修改SSH的配置文件。如下:
[root@sample ~]# vi /etc/ssh/sshd_config ← 用vi打开SSH的配置文件
#Protocol 2,1 ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接
Protocol 2 ← 修改后变为此状态,仅使用SSH2
#ServerKeyBits 768 ← 找到这一行,将行首的“#”去掉,并将768改为1024
ServerKeyBits 1024 ← 修改后变为此状态,将ServerKey强度改为1024比特
#PermitRootLogin yes ← 找到这一行,将行首的“#”去掉,并将yes改为no
PermitRootLogin no ← 修改后变为此状态,不允许用root进行登录
#PasswordAuthentication yes ← 找到这一行,将yes改为no
PasswordAuthentication no ← 修改后变为此状态,不允许密码方式的登录
#PermitEmptyPasswords no ← 找到此行将行头的“#”删除,不允许空密码登录
PermitEmptyPasswords no ← 修改后变为此状态,禁止空密码进行登录
然后保存并退出。(vi保存退出的命令为ZZ)
因为我们只想让SSH服务为管理系统提供方便,所以在不通过外网远程管理系统的情况下,只允许内网客户端通过SSH登录到服务器,以最大限度减少不安全因素。设置方法如下:
[root@sample ~]# vi /etc/hosts.deny ← 修改屏蔽规则,在文尾添加相应行
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd: ALL ← 添加这一行,屏蔽来自所有的SSH连接请求
[root@sample ~]# vi /etc/hosts.allow ← 修改允许规则,在文尾添加相应行
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
sshd: 192.168.0. ← 添加这一行,只允许来自内网的SSH连接请求
netstat
-tunlp 查看正在运行的端口号!vim /etc/ssh/sshd_config这个文件,这里把#Port
22这个字段前面的#去掉,再把22改成自己要设的端口就行了,然后重启ssh服务。/etc/init.d/sshd
restart假如要限制SSH登陆的IP,那么可以如下做:修改/etc/hosts.deny,在其中加入
sshd:ALL修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.24这样就可以限制只有
192.168.0.241的IP通过SSH登陆上LINUX机器了
SSH远程连接配置
1.配置IP
#setup
选择 NetWork configuration
选择 Device configuration
选择 eth0
Use DHCP [*] 改 为 [ ] 用空格键将*去除
Static IP 输入 192.168.1.112
Netmask 输入 255.255.255.0
Default gateway IP 输入 192.168.1.1
Primary DNS Server 输入 192.168.1.1
2.改SSH端口
vim /etc/ssh/sshd_config
#Port 22
去#注释 改 22 为 2200(2000以上)
3.重启SSH
/etc/init.d/sshd restart
4.重启网络
service network restart
或
/etc/init.d/network restart
5.查看端口
netstat -lnp|more
6.关防火墙
/etc/init.d/iptables stop
启动SSH
/etc/init.d/sshd start
至此SSH已经可以连接了
输入连接IP
配置相关参数
选择utf-8支持中文显示
自动输入登录用户root
输入用户名后就可以连接到服务器
但是目前我们的SSH连接还需要输入密码,下面将介绍使用密钥进行连接,免去了输入密码的烦恼:
1、在被管理机上生产密钥
[root@localhost ~]# mkdir /root/.ssh
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##直接回车默认路径
Enter passphrase (empty for no passphrase): ##输入密码短语
Enter same passphrase again: ##重复密码短语
Your identification has been saved in /root/.ssh/id_rsa. ##如果在这里报错是因为SeLinux引起的按照Policy:yum install selinux-policy
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
aa:76:71:1e:51:fe:3b:4c:51:30:b2:90:55:e9:58:7c root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| .ooo+o |
| ...o+.E |
| o.+ o |
| . o o |
| S. . . |
| ..o o |
| .+ . o . |
| ... . + |
| ... . |
+-----------------+
2、putty生产密钥
打开puttygen,如果没有该程序可以到putty官方网站下载。
点击Generate按钮后出现下图,在红框中不断移动鼠标知道密钥生成完成
点击Generate按钮后出现下图,在红框中不断移动鼠标知道密钥生成完成
上面的大红框就是我们生成的公钥、这个公钥用于放在被管理服务器上,而私钥放在自己的机器上。
Key comment是一个备注信息,如果是企业环境那么会有很多的公钥在一台机器上,为了识别的话一般都会根据每个人的自己定义一个备注。
可以使用邮箱或者工号,输入Key comment先复制下公钥,并点击Saved public Key 和 Saved Private Key保存两个密钥
接着打开密钥代理工具pageant.exe(同样可以在putty的官网下载),使用pageant.exe有一个很大的好处,如果你还需要使用putty的其他工具那么他们可以共享密钥验证,而不需要反复去设置密钥。
任务栏的pageant.exe图标右键选择view keys打开下面窗口。
点击Add key添加刚才保存的私钥。
3、被管理机密钥部署
将被管理机上刚才生产的id_rsa.pub复制成authrized.keys
[root@localhost .ssh]# cp id_rsa.pub authrized.keys
[root@localhost .ssh]# chmod 600 authrized.keys ##这一步是必须的,否则连接不上修改vi /root/.ssh/authrized.keys 删除原来的密钥,添加puttygen.exe生产的密钥(也就是前面复制的公钥)
sh-rsa
AAAAB3NzaC1yc2EAAAABJQAAAIEAh+gDpVSNIwBHZvmHS240AoueNHIgDHhczQ/fhiN/IdAQVdh7Ovw2pnJ4sd6so0kqCizsU7FOu2rvaK7vHC3QrrYmeqn94V595pYGLnMCbtEd7ONew47TU8wjtdldbc7liEmkTVIdkCbbrzQa372/u2LSjkldu2BUiXkevlnGNUc=
hellwen.wu
~
~
~
~保存退出。
4、打开putty登录
注意看上图中红色部分,如果你是经常连接这台机器的话建议输入IP并配置要后再Saved Sessions里输入识别名称并点击保存按钮,这样在列表框中就会长期保留该服务器的连接配置。
CentOS7 SSH免密码登录和关闭密码登录
以 Root 用户为例,首先生成一对公钥私钥对:
会提示存放位置,保持默认即可,默认位置:
提示输入密码,最好是输入一个,安全起见,也比较重要。
然后切换到 /root/.ssh 目录下看看是否已经生成了,如果已经有了公钥私钥对,直接把文件拷贝到这个目录即可,在 Windows 下使用 WinSCP 工具,其他使用 scp 命令即可。
接下来,把公钥复制到 authorized_keys 里,不然是没法通过密钥验证的。
接下来,关闭 SSH 密码登录,找到 /etc/ssh/sshd_config 文件,找到 PasswordAuthentication yes 这一行,一般位于倒数几行,把 yes 改为 no。
最后重启 ssh 服务,一般服务器是不需要重启。
linux centos ssh 怎么使用
首先要在CentOS上面设置好ssh服务,下面是Linux的ssh的设置方法:
首先要修改ssh的配置文件sshd_config,输入命令:vi /etc/ssh/sshd_config
2. 在这个文件中,将PermitRootLogin without-password这一行修改为PermitRootLogin yes,这一行的意思是“允许root用户用ssh登录”。
再去掉#PasswordAuthentication no这一行的注释符号#,并把no改为yes,表示用ssh登录时需要密码认证。
3. 修改完配置文件后就可以启动SSH服务了,linux不需要安装就有这个服务的,启动命令为:/etc/init.d/ssh start
4. 如果不想每次启动linux后都要启动ssh服务的话,需要设置ssh开机自启动,命令是:
chkconfig ssh on
设置好ssh服务后,下面就是登录的问题了。如果客户端是linux系统,可以用ssh命令(这个是ssh客户端)登录,格式:
ssh 用户名@IP地址
例子:ssh root@192.168.1.3
它会提示是否信任这个主机并保存密钥,输入yes并回车,然后输入登录用户的密码就连上了。
如果客户端是Windows系统,一般是用putty或者xshell来连接,他俩是免费的软件,图形界面挺好操作的。
2019-04-26 CentOS SSH 密码正确,但仍提示“Permission denied”
在CentOS 上给新同事添加了账号,但ssh总是提示“Permission denied, please try again.” 现在看一看怎么解决。
1、首先我的账号可以登录,上去看看新账号的用户名和密码是否OK。
检查一切正常,更换密码仍然不能登录。
2、检查SSHD配置,因为我的账号使用key免密登录,新账号现在是用户密码登录,待会他在上载密钥。
查看 /etc/ssh/sshd_config文件,查找这一句, 如果是no的话改成yes
重启sshd
3、检查账号有没有被lock,使用解锁
4、上面都做了,仍然不能登录,最后看一下SElinux,敲sestatus,SElinux状态是enforcing, 修改/etc/selinux/config文件,改成disabled 或permissive
不想重启的话先设一下:
再试下用新账号登录,一切正常了。
【centos修改ssh密码】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: