设为首页 收藏本站
查看: 973|回复: 0

[经验分享] putty 无密码ssh linux

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-6-23 08:50:53 | 显示全部楼层 |阅读模式
在redhat es 5.5 安装无密码登陆的openssh(系统自带)1. 确保sshd正常启用
查看 /etc/rc.conf 是否存在 sshd_enable=”YES” ;如果没有添加进去并人工方式启动#/etc/rc.d/sshd start ;然后查询 22端口是否启动:#sockstat -4l

root sshd 8085 4 tcp4 *:22 *:*

2. 配置 OpenSSH
针对 OpenSSH 服务程序和客户端的系统级配置文件在 /etc/ssh 目录中。ssh_config 用于配置客户端的设定, 而 sshd_config 则用于配置服务器端。

现在来说通过配置 OpenSSH 使服务器接受公钥(public-key)认证。sshd_config 这个文件指定的一些默认值都是生效的,虽然这些选项被注释掉了,如果你想改变默认值的话,那就取消注释更改值或者直接添加相同的选项和值覆盖默认值的作用。

#vi /etc/ssh/sshd_config

#默认 SSH 端口为 22 ,如果需要可以更改
Port 22

#仅接受版本2的密钥,默认值
Protocol 2

#绝对不要允许 root 用户直接通过网络登录,默认值
PermitRootLogin no
StrictModes yes
MaxAuthTries 6

#启用公钥认证
RSAAuthentication no #默认值为 yes
PubkeyAuthentication yes #默认值

#不使用基于主机的认证,加强 OpenSSH 的安全性
RhostsRSAAuthentication no #默认值
HostbasedAuthentication no #默认值
IgnoreUserKnownHosts yes #默认值为 no
PermitEmptyPassword no #默认值

#禁用 PAM 认证即口令形式认证 默认值为yes
ChallengeResponseAuthentication no

编辑完成后重启 sshd 进程:`#/etc/rc.d/sshd restart` ;Linux 系统上一般是 `/etc/init.d/ssh restart`

注意:因为是通过 SSH 口令认证的方式连接到服务器来操作,操作ChallengeResponseAuthentication 这个选项改为 no 后不能退出登陆,继续下面操作,或者也可以在成功验证了密钥后再改这个选项。以免出错导致无法远程SSH登录服务器。

3. 生成公钥(public key)和私钥(private key)
用需要生成密钥的用户通过 SSH 密码认证的方式登录
FreeBSD 使用 ssh-keygen 来生成 DSA 或 RSA 密钥对用于验证用户的身份:

% ssh-keygen -t rsa
Generating public/private dsa key pair.

#不输入即使用默认
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory ‘/home/user/.ssh’.

#密钥的密码,需要输入并记住
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com

ssh-keygen 会生成一个包含公私钥对用于验证身份。 私钥将保存到 ~/.ssh/id_dsa 或 ~/.ssh/id_rsa, 而公钥则被存放到 ~/.ssh/id_dsa.pub 或 ~/.ssh/id_rsa.pub,文件名取决于您选择的 DSA 和 RSA 密钥类型。RSA 或者 DSA 公钥必须被存放到远程机器上的 ~/.ssh/authorized_keys 才能够使系统正确运转,因此 `#cp id_rsa.pub authorized_keys`
将公钥复制一份为 authorized_keys 此文件既可。将私钥 id_rsa 复制到 Windows 客户端。

4. 转换 OpenSSH 生成的私钥 id_rsa 到 putty 能使用的文件
这里需要借助一个工具 puttygen.exe ,从 Putty 的网站上可以下载。

执行 puttygen.exe 后,点击 Load 按钮,打开从远程服务器下载的 id_rsa ,这时要求输入生成密钥时输入的密码钥匙
QQ截图20160623085009.png
验证成功后显示密钥文件,然后点击 Save private key,就可以将文件另存为 “id_rsa.ppk” 这样的

putty 能够使用的私钥文件了。
5. 配置和使用 Putty
打开 Putty 程序,点击边栏的 SSH ,在 “Preferred SSH protocol version”下选择“2 only”,表

示只使用 SSH 版本2;
点击 SSH 下的 Auth,然后点击 Browse(浏览),打开刚才的转换好的“id_rsa.ppk”私钥
QQ截图20160623085022.png
最后回到 Session ,在 Host Name 下填入服务器的IP地址或者域名,Saved Sessions 下填入这个会话的会话名称(任意你喜欢的命名),然后点Save保存就设置好了。

接着双击会话名称就打开了登陆界面,与采用口令认证的提示不同,然后输入生成密码时设置的密钥密码既可登陆:

Login as: test
Authenticating with public key “imported-openssh-key”
Passphrase for key “imported-openssh-key”:
Last login: Wed May 31 12:35:00 2006 from 192.168.1.10
test@server:~$

综上所述:

1.用putty生产 ssh2-rsa,1024 的公钥和私钥。

2.配置redhat 系统自带的openssh

Protocol 2

SyslogFacility AUTHPRIV

RSAAuthentication yes

PubkeyAuthentication yes

PasswordAuthentication no

ChallengeResponseAuthentication no

GSSAPIAuthentication yes

GSSAPICleanupCredentials yes

UsePAM yes

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL

X11Forwarding yes

Subsystem       sftp    /usr/libexec/openssh/sftp-server

3. putty 有三个软件,putty.exe(登陆用) puttygen.exe(生产密钥) pageant.exe(添加密钥工具)

先用puttygen.exe生产公钥私钥,把公钥复制到/home/zakk/.ssh/authorized_keys 私钥自己留着

4.建个用户为wulu

cd /home/wulu

ll wulu

drwx------ 4 wulu   wulu 4096 Sep 9 10:50 wulu

midr .ssh

ls -lah

drwxr-xr-x 2 wulu wulu 4.0K Jun 2 10:04 .ssh     (权限755)

cd .ssh

touch authorized_keys

chown zakk.zakk authorized_keys

ll authorized_keys

-rw-r--r-- 1 wulu wulu 219 Sep 9 10:57 authorized_keys (权限 644)

vi authorized_keys

加入公钥

authorized_keys 这个文件一定是644权限。
注意:

PasswordAuthentication no

需要注意在配置的时候最好先修改为yes,配置好后在关闭,就修改此项需要重启sshd,其余配置均是实时生效,无需重启sshd。

RSAAuthentication no #默认值为 yes
PubkeyAuthentication yes

其实修改此3个参数就可以了。

5,通过sudo bash 无密码切换到root权限

vi /etc/sudoers

找到
“root ALL=(ALL) ALL” 行,并在此行下输入
%zakk ALL   NOPASSWD: ALL(zakk是组需加%)

zakk ALL   NOPASSWD: ALL (如果是用户不需加%)

这样在通过putty,zakk账号登陆后,不需要root密码,直接输入 sudu bash 便可获得root权限,对

服务器来说更加安全。


QQ截图20160623085028.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-233918-1-1.html 上篇帖子: linux dd 读取 写入磁盘速度 下篇帖子: Linux下trap+shell三层目录专业规范跳板机脚本 linux 密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表