putty 无密码ssh linux

在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 [email protected]

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 ,这时要求输入生成密钥时输入的密码钥匙

验证成功后显示密钥文件,然后点击 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”私钥

最后回到 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

[email protected]:~$

综上所述:

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权限,对

服务器来说更加安全。

2010-06-04

时间: 2024-12-29 09:52:42

putty 无密码ssh linux的相关文章

SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器

1. 从一台 Linux 机器(ubuntu1)上无密码访问其它机器(ubuntu2) (1)登录 ubuntu1 并切换到用户比如 s1 (2)运行 ssh-keygen -t rsa (3)运行cd .ssh (4)运行 cat id_rsa.pub >> authorized_keys.现在运行  ssh localhost 就可以无密码登录到本机. (5)运行 scp authorized_keys [email protected]:/home/s1/.ssh/authorized_

Putty远程SSH免密码方式链接Linxu

1.首先确保Linxu服务器安装了ssh服务,可以输入ssh命令测试. ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m

1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuTTY密钥认证 1.12 xshell密钥认证

1.9 使用PuTTY远程连接Linux 先下载putty 地址百度搜,进官网下载https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 先查看自己的ip 安装完成后 双击putty 填自己的ip 和名字 windows 窗口这里设置成2000 可以在窗口下上下翻 最多2000行 选择字体 字体改下 选择中文的要选择utf-8 点open 点击是 即可 1.10 使用xshell连接Linux 使用xshell 连接linux

无密码ssh远程机器

双台 无密码访问  A--->B--->A 第一步需要在服务器A生成密钥对,将生成的公钥上传到服务器B的相关用户目录下的.ssh目录中(没有的话手动创建,注意,它的目录权限是700), 第二步 并将公钥文件名称改为authorized_keys(注意,这个文件的权限应该是644),请注意.ssh目录及authorized_keys文件的权限,权限不符,会使配置无效. 具体操作如下: [[email protected] ~]# ssh-keygen -t rsa     之后一路回车 Gene

SecureCRT无密码登录Linux服务器

1.使用windows上的SecureCRT生成密钥对. Tools->Create Public Key..->RSA->Passphrase(最好输入,也可为空)->长度默认1024->选择 OpenSSH Key format->选择位置保存. 2.创建session,SSH2属性中的Authentication只选中PublicKey,单击Properites,选择Use Session public key setting和第一步生成的xxx.pub后确定.

1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuT

1.9 使用PuTTY远程连接Linux1.10 使用xshell连接Linux1.11 PuTTY密钥认证1.12 xshell密钥认证 笔记: VMwork快照:便于恢复 使用ssh服务实现远程登录linux系统功能. Putty下载网址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html3.Host Name填写远程的机器的IP port是端口(可以自定义) Xsell下载后的连接方式 通过xsheel和putty生

使用putty远程链接Linux

使用putty远程链接Linux操作步骤 下载客户端:下载地址 安装putty 安装成功后,打开putty客户端  编辑信息 首先找到将要连接的Linux的IP地址  编辑相关信息  登陆远程Linux

使用putty进行ssh tunnel远程内网机器

通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网ip的node信息: 2,在connection下面找到SSH,打开SSH点击tunnel输入source port,source port是你想在本机使用的端口,destination是远程内网机器和端口:保证你的login的node可以和destination的机器能够相通: 3,回到sessi

1.9使用putty远程连接Linux

1.9使用putty远程连接Linux    小技巧:屏幕快照,好处:好比做备份一样,如果刚刚配置IP地址可以做一个快照,如果后面操作出问题了可以恢复快照,具体操作如下:                      恢复快照:     使用PUTTY: putty官网下载地址:https://www.putty.org/  下载安装完成之后,打开PUTTY:简单的设置 原文地址:http://blog.51cto.com/13776311/2125599