Linux Server

SSH

  

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

RedHat9でのSSHの使用方法。ネットで検索するといろいろとなやり方が乗っているけど、バージョンが古かったりOpenSSHでなかったり。試行錯誤の末やっとRH9でも以下のことができたのでメモっておきます。


① RSAによるSSH接続
② RSAによるホスト認証(パスワード入力を求められない)
③ TeraTermProからのSSH接続

① RSAによるSSH接続
クライアント(接続元)側での設定作業
・秘密鍵・公開鍵の生成

[root@client .ssh]# 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.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
05:48:92:18:1b:1e:0b:b0:4e:45:06:b7:12:ad:04:6f root@server
[root@client .ssh]#

サーバ(接続先)側での設定作業
・クライアント側(接続元)の公開鍵をコピーしてくる。(方法は何でもいい)

[root@server .ssh]# scp -p client:/root/.ssh/*.pub .
The authenticity of host 'client (192.168.xx.xxx)' can't be established.
RSA key fingerprint is f7:58:68:94:45:93:90:50:8b:6b:d6:f2:5c:cb:0a:7b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,192.168.xx.xxx' (RSA) to the list of known hosts.
root@client's password:★rootのパスワードを求めている
id_rsa.pub 100% |*****************************| 225 00:00
[root@server .ssh]#

rootのパスワードを入れればインストールしたままの状態でもSSHは効くはずです。
authorized_keysという名前で保存。(authorized_keys2という説明もあるけどSSH3からはauthorized_keysファイルに統一とのこと)
[root@server .ssh]# mv id_rsa.pub authorized_keys

これでOK。(authorized_keyのパーミッションも644でOKです。)

[root@client .ssh]# ssh server
Enter passphrase for key '/root/.ssh/id_rsa': ★パスフレーズの入力を求めている
Last login: Sun Aug 8 04:17:40 2004 from client
[root@server root]#

② RSAによるホスト認証(パスワード入力を求められない)
サーバ側のsshdの設定変更とクライアント側のsshクライアントの設定変更が必要。

サーバ側/etc/ssh/sshd_config(ssh_configではない)を編集
デフォルトと違う箇所は以下の箇所

IgnoreRhosts no
RhostsRSAAuthentication yes
HostbasedAuthentication yes
PasswordAuthentication no
AllowUsers

また、サーバ側のknow_hostsにクライアントの公開鍵を登録しておく。

[root@server .ssh]# ssh client
The authenticity of host 'client (192.168.xx.xxx)' can't be established.
RSA key fingerprint is 00:46:3c:a8:42:47:47:ae:a8:88:40:61:4a:c9:da:0a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'client,192.168.30.120' (RSA) to the list of known hosts.
root@client's password: ★実際にログインしなくてもいい

[root@server .ssh]#

そしてservice sshd restartによりsshdの再起動

次にクライアント側/etc/ssh/ssh_config(sshd_configではない)を編集
デフォルトと違う箇所は以下の箇所

RhostsRSAAuthentication yes
HostbasedAuthentication yes

こちらはsshdの再起動は必要ない(当然か)

するとパスワードの入力を求められずにssh可能。当然scpもOk.

[root@client .ssh]# ssh server
Last login: Sun Aug 8 04:44:32 2004 from client
[root@server root]#

③ TeraTermProからのSSH接続
自分の使用するTeraTermはUTF-8が表示できるパッチをあててあるんだけど、READMEによるとTTSSHの利用も可能とのこと。

さっそくTTSH日本語版をゲット。

解凍したところ

TTSSHをTeraTermインストールフォルダにコピー。

TeraTermProインストールフォルダにコピー

本家サイトからTTSSHをダウンロードしてttssh.exeもTeraTermインストールフォルダにコピーして終わり。

ttssh.exeもコピー

ttssh.exeを起動します。

ttssh.exeを起動したところ

まだ設定が済んでいないのでとりあえずキャンセルし、SSHの設定をします。

SSH設定

ssh_know_hostsファイルの指定をします。うちの環境ではマイドキュメントがサーバ上にあり、他のユーザには見えないところにあるので、そこにssh_know_hostsファイルを置きます。
ssh_known_hostsファイルを指定

設定をセーブしてとりあえず終了。

設定をsaveして終了

LINUXサーバ側では、秘密鍵と公開鍵のペアを作成します。
TTSSHはRSA1にしか対応していないためそれようのキーペアが必要です。

本来はTeraTermがインストールされているPCにてキーペアを作成し、できた公開鍵をLinux側にコピーするのが本来です。が、PCではssh-keygenがない(あってもバグが多い)ので、Linux側でキーペアを作成して、秘密鍵をPC側に持ってきます。

[root@server .ssh]# ssh-keygen -t rsa1
Generating public/private rsa1 key pair.
Enter file in which to save the key (/root/.ssh/identity):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/identity.
Your public key has been saved in /root/.ssh/identity.pub.
The key fingerprint is:
21:cd:44:b2:27:f1:84:df:30:9a:23:0b:41:6b:8d:ab root@server
[root@server .ssh]#

さらに、Linux側では公開鍵をauthorized_keysに追記します。

[root@server .ssh]# cat identity.pub >> authorized_keys

秘密鍵のidentityファイルはPC上に持ってきます。

どうも何度セーブしてもTeraTermに設定がほぞんされないので、teraterm.iniを直接編集することに。

[TTSSH]
Enabled=1
Compression=0
DefaultUserName=root
DefaultForwarding=
CipherOrder=302615
KnownHostsFiles=GwPubsetoatuMy Documentsssh_known_hosts
DefaultRhostsLocalUserName=
DefaultRhostsHostPrivateKeyFile=
DefaultRSAPrivateKeyFile=GwPubsetoatuMy Documentsidentity
DefaultAuthMethod=2
TryDefaultAuth=1
LogLevel=0
WriteBufferSize=2097152
LocalForwardingIdentityCheck=0

この設定をすれば、あとはパスフレーズを入力すればいいだけの画面になります。
ただし以下のポップアップが出てしまう…。どうして?

WS000032.JPG

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-

© 1999 - 2021 蒲田ネット